2006-11-26 19:08  jsnellman

	* ChangeLog, swank-source-file-cache.lisp:

		* swank-source-file-cache.lisp (buffer-first-change): Check
		whether a file exists before trying load it into the source cache.

2006-11-26 19:03  jsnellman

	* ChangeLog, slime.el:

		Restore the way M-n and M-p used to work in the REPL. (cherry-picked
		from a patch with other changes, sent by Attila Lendvai).

		* slime.el (slime-repl-previous-input-starting-with-current-input)
		(slime-repl-next-input-starting-with-current-input): New functions,
		work like the old slime-repl-previous-input / next-input.
		(slime-repl-matching-input-regexp): Restore old version.
		(slime-repl-mode-map): Bind s-r-p-i-s-w-c-i and s-r-n-i-s-w-c-i
		to M-p and M-n respectively. slime-repl-previous-input and
		slime-repl-next-input are still accessible with C-up / C-down.

2006-11-25 00:34  heller

	* ChangeLog:

	[no log message]

2006-11-25 00:33  heller

	* slime.el:

	(slime-repl-read-break): Use a :emacs-interrupt message
	instead of a RPC to swank:simple-break.  Suggested by Taylor R
	Campbell.

	(slime-dispatch-event, slime-interrupt): Decide whether to use SIGINT
	or a :emacs-interrupt message in slime-interrupt.

2006-11-24 00:14  heller

	* ChangeLog:

	[no log message]

2006-11-24 00:13  heller

	* swank-cmucl.lisp:

	(setf-definitions): Also include defs which were created with
	(defun (setf NAME) ...).
	Previously we only found definitions created with defsetf of
	define-setf-expander.

2006-11-24 00:10  heller

	* slime.el:

	Suggestions from Antonio Menezes Leitao:

	(slime-search-buffer-package): Prettify the package name if it is
	written as string or keyword.

	(slime-in-expression-p): Use `read' and `eq' to test the first element
	of the list.  Previuosly, the pattern (foo) wrongly matched
	(foobar) because we used (looking-at <symbol>).

2006-11-22 16:29  heller

	* ChangeLog, slime.el:

	(slime-edit-definition): Don't hide error messages.

2006-11-22 07:27  jcunningham

	* doc/: Makefile, slime-small.eps, slime-small.pdf, slime.texi:

	Capturing first third of document changes. Added slime logo to front page.

2006-11-21 23:00  heller

	* ChangeLog:

	[no log message]

2006-11-21 22:59  heller

	* doc/Makefile:

	Add copyright note.

2006-11-21 22:58  heller

	* doc/slime.texi:

	Documentation patch for swank:create-server
	from Ury Marshak <urym@two-bytes.com>.

2006-11-21 21:36  heller

	* ChangeLog:

	[no log message]

2006-11-21 21:35  heller

	* swank.lisp:

	(*coding-system*): "Coding systems" are now strings instead of
	keywords. Set it to "iso-latin-1-unix".

2006-11-19 22:33  heller

	* swank-abcl.lisp, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-cmucl.lisp, swank-corman.lisp,
	  swank-ecl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank-scl.lisp:

	(find-external-format, guess-external-format): New.
	(swank-compile-file): The external-format argument is now a
	backend specific value returned by find-external-format.

	Update implementations accordingly.

2006-11-19 22:28  heller

	* swank-source-file-cache.lisp:

	(read-file): Use guess-external-format.

2006-11-19 22:28  heller

	* swank-loader.lisp:

	(load-swank): Set the protocol version.

2006-11-19 22:27  heller

	* swank.lisp:

	(compile-file-for-emacs): Use guess-external-format.

	(*swank-wire-protocol-version*): Is now initialized by the loader.
	(wire-protocol-version): Removed, because it contained a reference
	to swank-loader::*source-directory*.

2006-11-19 22:26  heller

	* slime.el:

	(slime-compile-file): Let the Lisp side choose the coding system.
	(slime-coding): Deleted.

	(slime-set-connection-info): On protocol version mismatch, ask the
	user how to proceed.
	(slime-protocol-version): New variable. Initialize it at compile time
	to detect stale elc files.

2006-11-19 22:25  heller

	* ChangeLog:

	(slime-compile-file): Let the Lisp side choose the coding system.
	(slime-coding): Deleted.

	(slime-set-connection-info): On protocol version mismatch, ask the
	user how to proceed.
	(slime-protocol-version): New variable. Initialize it at compile
	time to detect stale elc files.

2006-11-12 12:18  mbaringer

	* ChangeLog:

	[no log message]

2006-11-12 12:18  mbaringer

	* slime.el:

	(slime-make-tramp-file-name): Added (require 'tramp)
	since tramp-make-tramp-file-name is not an autoloaded function.

2006-11-07 08:42  eweitz

	* ChangeLog, slime.el:

	cosmetic change - escaped right parenthesis

2006-11-05 12:35  mkoeppe

	* ChangeLog, slime.el:

	[no log message]

2006-11-05 10:13  heller

	* ChangeLog:

	[no log message]

2006-11-05 10:13  heller

	* slime.el:

	(sldb-sexp-highlight-mode): Remove bloat.

2006-11-04 13:02  mkoeppe

	* ChangeLog:

	[no log message]

2006-11-04 13:02  mkoeppe

	* swank.lisp:

	(make-presentations-result): New, factored out from
	listener-eval.
	(listener-eval): Use it here.

2006-11-04 13:02  mkoeppe

	* present.lisp:

	Support nested presentations in REPL results, when present.lisp is
	loaded.

	* present.lisp (make-presentations-result): Override it here.

2006-11-03 18:35  mbaringer

	* swank.lisp:

	(all-slots-for-inspector): Added declare ignore for
	unused argument inspector (openmcl warns about this). Reindented.

2006-11-03 18:34  mbaringer

	* ChangeLog:

	[no log message]

2006-11-02 12:13  mbaringer

	* ChangeLog:

	[no log message]

2006-11-02 10:34  mbaringer

	* swank.lisp:

	(fuzzy-completion-set): Fix on clisp.
	(convert-fuzzy-completion-result): Fix symbol fbound and other
	annotations.
	(slot-value-using-class-for-inspector): New.
	(slot-boundp-using-class-for-inspector): New.
	(inspect-for-emacs): Use the special slot access methods so that
	it's possible to customize the inspecting of complex
	slots (e.g. computed-class at
	http://common-lisp.net/project/computed-class/).
	(all-slots-for-inspector): Converted to generic method.

2006-11-02 10:34  mbaringer

	* slime.el:

	(sldb-sexp-highlight-mode): New custom.
	(slime-handle-repl-shortcut): Trigger slime-lookup-shortcut when
	the point is anywhere before slime-repl-input-start-mark.  IOW,
	you can press "," anywhere before the prompt.
	(slime-edit-definition): Handle the case when there are only such
	entries returned from swank that have errors.
	(slime-read-from-minibuffer): Allow overriding of the keymap.
	(slime-repl-previous-matching-input): Similar behaviour like
	isearch-forward.
	(slime-repl-next-matching-input): Ditto. In more details: You can
	freely navigate with slime-repl-previous/next-input with M-p and
	M-n at any time among the history entries.  When M-r is pressed,
	which invokes slime-repl-previous-matching-input, the the
	minibuffer is activated to read the regexp to search for and the
	contents will default to the current repl input.  Pressing M-r
	again will start searching with the last pattern used no matter
	what the content of the minibuffer is. Subsequent invocations of
	M-r get the next match, and of course the same applies for M-s,
	which is slime-repl-previous-matching-input.

2006-11-01 15:16  mbaringer

	* swank.lisp:

	(*swank-wire-protocol-version*): Use a defvar to
	declare the existence of tihs variable to the lisp (Reported by:
	Jonathon McKitrick <jcm@FreeBSD-uk.eu.org>).

2006-11-01 15:16  mbaringer

	* ChangeLog:

	[no log message]

2006-10-30 17:25  mbaringer

	* swank.lisp:

	(*dont-close*): New variable.
	(defpackage :swank): Export *dont-close*.
	(start-server, create-server): Use *dont-close* as the default
	value of the :dont-close parameter.
	(connection-info): Send the wire-protocol-version (supplied by the
	swank-version.el file) to slime when connecting.
	(wire-protocol-version): New function.

2006-10-30 17:25  mbaringer

	* ChangeLog, swank-version.el:

	[no log message]

2006-10-30 17:24  mbaringer

	* slime.el:

	(slime-global-variable-name-regexp): New variable.
	(slime-global-variable-name-p): Use
	slime-global-variable-name-regexp.
	("swank-version"): Load swank-version.el to get the wire protocol
	version.
	(slime-set-connection-info): Check the wire protocol version.

2006-10-30 15:59  mbaringer

	* slime.el:

	(slime-global-variable-name-regexp): New variable.
	(slime-global-variable-name-p): Use slime-global-variable-name-regexp.

2006-10-30 15:57  mbaringer

	* ChangeLog:

	[no log message]

2006-10-30 14:59  heller

	* ChangeLog:

	[no log message]

2006-10-30 14:59  heller

	* slime.el:

	(slime-global-variable-name-p): Oops... need to handle very long strings.

2006-10-29 11:15  mbaringer

	* slime.el:

	(slime-global-variable-name-p): Use defun* instead of
	defun.

2006-10-29 11:14  mbaringer

	* ChangeLog:

	[no log message]

2006-10-29 08:13  heller

	* ChangeLog:

	[no log message]

2006-10-29 08:11  heller

	* slime.el:

	(slime-global-variable-name-p): Simplified.

2006-10-28 19:43  mkoeppe

	* ChangeLog:

	[no log message]

2006-10-28 19:43  mkoeppe

	* slime.el:

	(slime-completions-for-character): New.
	(slime-contextual-completions): Use it here.

2006-10-28 19:42  mkoeppe

	* swank.lisp:

	(completions-for-character): New slimefun.
	(compound-prefix-match/ci/underscores)
	(longest-completion/underscores, tokenize-completion/underscores)
	(untokenize-completion/underscores): New functions.

2006-10-28 19:41  mkoeppe

	* swank-allegro.lisp:

	(character-completion-set): Implement it.

2006-10-28 19:41  mkoeppe

	* swank-backend.lisp:

	(character-completion-set): New interface.

2006-10-28 10:44  nsiivola

	* ChangeLog, hyperspec.el:

	Missing Hyperspec links for ~| and ~~

2006-10-27 11:22  nsiivola

	* hyperspec.el:

	Hyperspec links for ~% and ~&

2006-10-27 11:22  nsiivola

	* ChangeLog:

	Hyperspec link for ~% and ~&

2006-10-27 08:24  nsiivola

	* ChangeLog, swank-sbcl.lisp:

	Restore support for pre 0.9.17 SBCL

2006-10-26 18:51  mkoeppe

	* ChangeLog:

	[no log message]

2006-10-26 18:50  mkoeppe

	* swank-allegro.lisp:

	(sldb-break-at-start): Implement.
	Patch from Utz-Uwe Haus.

2006-10-26 15:38  mbaringer

	* slime.el:

	fix xemacs problems in previous commit

2006-10-26 14:47  mbaringer

	* ChangeLog:

	[no log message]

2006-10-26 14:47  mbaringer

	* swank.lisp:

	(fuzzy-completions and friends): Added :limit
	and :time-limit-in-msec keyword params. Used vectors instead
	of lists that nearly doubled its speed (at least on sbcl).
	Also added some declare optimize and type annotations.
	(do-symbols*): New, uses a hash-table to visit only non-seen
	symbols. Replaced various uses of do-symbols where it was
	appropiate.

2006-10-26 14:47  mbaringer

	* swank-sbcl.lisp:

	(make-weak-value-hash-table): New for sbcl.
	(make-weak-key-hash-table): New for sbcl.

2006-10-26 14:46  mbaringer

	* slime.el:

	(slime-setup-command-hooks): Use make-local-hook.
	(slime-repl-mode): Ditto.
	(slime-fuzzy-choices-buffer): Ditto.
	(sldb-mode): Ditto.
	(slime-fuzzy-completion-limit): New variable.
	(slime-fuzzy-completion-time-limit-in-msec): New variable.
	(slime-fuzzy-next): Fix when at the end of the buffer.
	(completion-output-symbol-converter): New to handle escaped
	symbols for those who need to mess around with symbols like
	layered-function-definers::|CONTEXTL::SLOT-VALUE-USING-LAYER|.
	When a symbol is escaped then completion is case sensitive.
	(completion-output-package-converter): New.
	(mimic-key-bindings): New to easily define bindings by first
	trying to look up bindings for an operation and only use
	the provided default bindings if nothing was found in the
	source keymap. Use it to set up fuzzy bindings. (Hint:
	if you have keys like previous-line customized,    then only
	load slime after they have been set, and the fuzzy mode
	will mimic them.)
	(slime-temp-buffer-quit): Always close the opened window,
	updated docstring.
	Also made the fuzzy maps smarter, they now try to look up
	keys with 'where-is-internal and map the functions on them.

2006-10-26 10:52  mbaringer

	* slime.el:

	(slime-global-variable-name-p): Use a custom 'parser'
	instead of string-match to avoid regexp overflow errors on very
	long strings.

2006-10-26 10:51  mbaringer

	* ChangeLog:

	[no log message]

2006-10-21 12:31  heller

	* slime.el:

	(slime-execute-tests): Show the test name to the echo area.

2006-10-21 11:30  heller

	* ChangeLog:

	[no log message]

2006-10-21 11:28  heller

	* swank-lispworks.lisp:

	(initialize-multiprocessing): Don't init MP if it is already running.

2006-10-21 11:27  heller

	* test.sh:

	Run Emacs in Screen.

2006-10-20 19:08  heller

	* ChangeLog:

	[no log message]

2006-10-20 19:07  heller

	* swank-backend.lisp, swank-cmucl.lisp, swank.lisp:

	(startup-idle-and-top-level-loops): Deleted. Merged into
	initialize-multiprocessing.

2006-10-20 13:07  mbaringer

	* slime.el:

	(slime-fuzzy-choices-buffer): Added kill-buffer-hook to the completion
	buffer to slime-fuzzy-abort, so we get out from the completion mode
	and key maps when the completion buffer is closed.

2006-10-20 13:07  mbaringer

	* ChangeLog:

	[no log message]

2006-10-20 12:09  mbaringer

	* slime.el:

	(slime-target-buffer-fuzzy-completions-map): Fix a dug I introduced
	when applying levente's patch.

2006-10-20 12:08  mbaringer

	* ChangeLog:

	[no log message]

2006-10-20 02:42  mbaringer

	* slime.el:

	[no log message]

2006-10-20 02:15  mbaringer

	* swank-allegro.lisp:

	(initialize-multiprocessing): Update for new api.

2006-10-20 02:15  mbaringer

	* swank-backend.lisp:

	(initialize-multiprocessing): New API to support lisps where
	initialize-multiprocessing may not return (lispworks).

2006-10-20 02:14  mbaringer

	* swank-lispworks.lisp, swank-cmucl.lisp:

	(initialize-multiprocessing): Update for new API.

2006-10-20 02:14  mbaringer

	* swank.lisp:

	(start-server): initialize-multiprocessing's API has changed.

2006-10-20 02:13  mbaringer

	* ChangeLog:

	[no log message]

2006-10-20 02:04  mbaringer

	* slime.el:

	[no log message]

2006-10-20 02:00  mbaringer

	* ChangeLog, slime.el:

	[no log message]

2006-10-19 14:32  heller

	* ChangeLog:

	[no log message]

2006-10-19 14:30  heller

	* swank-sbcl.lisp:

	(list-callers, list-callers): Use SANITIZE-XREFS.

2006-10-19 14:29  heller

	* swank-backend.lisp:

	(ignored-xref-function-names): Deleted.

2006-10-19 14:29  heller

	* swank.lisp:

	(sanitize-xrefs): Moved to swank-sbcl.  The backend is supposed to
	return sane values.
	(find-definitions-for-emacs): Don't filter errors out.

2006-10-19 14:12  heller

	* swank.lisp:

	(guess-package-from-string): Remove special case for "#.". parse-package
	will handle that just fine.

2006-10-19 14:11  heller

	* slime.el, ChangeLog:

	[no log message]

2006-10-19 14:11  heller

	* slime.el:

	(slime-search-buffer-package): Fix.

2006-10-19 13:57  heller

	* slime.el:

	(slime-find-buffer-package): Simplify.

2006-10-17 12:49  mbaringer

	* ChangeLog:

	[no log message]

2006-10-17 12:48  mbaringer

	* swank.lisp:

	(guess-package-from-string): Handle #. forms.
	(inspect-for-emacs standard-class): Handle non-string :documentation
	slot contents.

2006-10-17 12:48  mbaringer

	* swank-sbcl.lisp:

	(inspect-for-emacs weak-pointer ...): Added method.

2006-10-17 12:48  mbaringer

	* slime.el:

	(slime-find-buffer-package): Handle #. forms.

2006-10-17 11:14  heller

	* slime.el:

	(slime-accept-process-output): The timeout arg can be nil. Handle that case.

2006-10-16 22:43  heller

	* ChangeLog:

	[no log message]

2006-10-16 22:42  heller

	* swank-cmucl.lisp:

	(inspect-for-emacs): Don't break for simple-strings.

2006-10-16 22:21  heller

	* ChangeLog:

	[no log message]

2006-10-16 22:20  heller

	* slime.el:

	(slime-insert-presentation): Honor slime-repl-enable-presentations.
	Presentations kill SLDB and the inspector in Emacs 20 (besides
	being troublesome GC-wise).

2006-10-16 22:01  heller

	* ChangeLog:

	[no log message]

2006-10-16 21:59  heller

	* swank-loader.lisp:

	Abort on compile-time or load-time errors.
	Don't try to load the source-file if COMPILE-FILE's 3rd return
	value is true (it's true even for warnings).
	(handle-loadtime-error): New function.

	Run the after-init-hook.

2006-10-16 21:58  heller

	* swank.lisp:

	Clean up global IO redirection.
	(setup-stream-indirection): Turn macro into a
	function and delay initialization after user init files are
	loaded, so that we do nothing if *globally-redirect-io* is nil.
	(*after-init-hook*, run-after-init-hook, init-global-stream-redirection): New.

	(parse-symbol-or-lose): Lose loudly and early (instead of failing
	silently).

2006-10-16 21:57  heller

	* slime.el:

	(slime-init-command): Send a single form.

2006-10-16 15:57  heller

	* ChangeLog:

	[no log message]

2006-10-16 15:54  heller

	* slime.el:

	(unwind-to-previous-sldb-level): New test.

2006-10-16 15:14  heller

	* ChangeLog:

	[no log message]

2006-10-16 15:14  heller

	* slime.el:

	(sldb-activate): Get debug-info from the correct thread. Fixes bug
	reported by Dan Weinreb <dlw@itasoftware.com>.

2006-10-11 14:00  mkoeppe

	* ChangeLog:

	[no log message]

2006-10-11 13:59  mkoeppe

	* slime.el:

	(slime-presentation-syntax-table): New.
	(slime-add-presentation-properties): Install it in a syntax-table
	text property, so that #<...> is balanced in a presentation.
	(slime-remove-presentation-properties): Remove the text property.
	(slime-repl-mode): Respect the syntax text properties of
	presentations in REPL buffers.

2006-10-09 15:22  mkoeppe

	* ChangeLog:

	[no log message]

2006-10-09 15:22  mkoeppe

	* swank.lisp:

	(completions-for-keyword): Look up the operator names in the right
	package.  Return nil (rather than signalling an error) when no valid
	operator name is present.

2006-10-08 14:48  mkoeppe

	* swank-loader.lisp:

	(lisp-version-string) [allegro]: Distinguish
	between 32-bit and 64-bit version on the SPARC architecture.

2006-10-08 14:47  mkoeppe

	* ChangeLog:

	[no log message]

2006-10-03 23:49  mbaringer

	* ChangeLog:

	[no log message]

2006-10-03 23:49  mbaringer

	* README:

	Update license statement.

2006-10-02 17:29  mbaringer

	* slime.el:

	(slime-highlight-compiler-notes): New variable.
	(slime-compilation-finished): Only highlight notes when
	slime-highlight-compiler-notes is non-NIL.

2006-10-02 17:29  mbaringer

	* ChangeLog:

	[no log message]

2006-09-28 00:53  mbaringer

	* ChangeLog:

	[no log message]

2006-09-28 00:52  mbaringer

	* swank-loader.lisp:

	(compile-files-if-needed-serially): Don't ignore compile-time errors
	but drop into a debugger (it's not a slime debugger but it's certainly
	better than ignoring the error).

2006-09-27 12:42  mbaringer

	* ChangeLog:

	[no log message]

2006-09-27 12:42  mbaringer

	* swank.lisp:

	(*globally-redirect-io*): Change default value to T.

2006-09-24 23:52  jsnellman

	* swank.lisp, ChangeLog, swank-backend.lisp, swank-sbcl.lisp:

	fix SBCL 0.9.17

2006-09-21 19:44  mbaringer

	* slime.el:

	[no log message]

2006-09-21 19:36  mbaringer

	* ChangeLog, slime.el:

	[no log message]

2006-09-21 18:56  mbaringer

	* swank.lisp:

	(find-definitions-for-emacs): Don't return locations
	whose CAR is :error.
	(xref): Process whatever is returned by the various xref functions
	with the new sanitize-xrefs functions.
	(sanitize-xrefs): Clean up the list of xrefs to remove duplicates.
	Patch by Dan Weinreb <dlw@itasoftware.com>

2006-09-21 18:55  mbaringer

	* slime.el:

	(slime-goto-first-note-after-compilation): New
	variable. This controls the behaviour of (next|prev)-note
	immediatly after a slime-compile-and-load-file.
	(slime-compilation-just-finished): New variable.
	(slime-compilation-finished): Update slime-compilation-finished.
	(slime-next-note, slime-previous-note): Respect
	slime-compilation-just-finished.
	(slime-autodoc-use-multiline-p): Specify the type.
	(slime-repl-grab-old-input): Typo in docstring.

2006-09-21 18:54  mbaringer

	* ChangeLog:

	[no log message]

2006-09-20 23:25  mbaringer

	* slime.el:

	[no log message]

2006-09-20 21:28  mbaringer

	* ChangeLog, slime.el:

	[no log message]

2006-09-20 20:35  mbaringer

	* ChangeLog, slime.el, swank-sbcl.lisp, doc/slime.texi:

	[no log message]

2006-09-20 19:52  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	use INVOKE-STEPPER rather than funcalling *STEPPER-HOOK*

2006-09-19 13:56  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	fix stepper on threaded SBCL

2006-09-18 23:56  jsnellman

	* ChangeLog, slime.el, swank-backend.lisp, swank-sbcl.lisp,
	  swank.lisp:

	sbcl single-stepper

2006-09-18 23:27  mbaringer

	* swank.lisp:

	(eval-for-emacs): Handle request-abort conditions.
	(decode-keyword-arg, get-repl-result, parse-symbol-or-lose): Use
	abort-request instead of error.

2006-09-18 23:27  mbaringer

	* swank-backend.lisp:

	(request-abort): New condition.
	(abort-request): Convenience function for signaling request-abort
	conditions.
	(operate-on-system): Use abort-request instead of error
	(:swank-backend): Export the symbols abort-request and request-abort.

2006-09-18 23:26  mbaringer

	* slime.el:

	(slime-rex): Update docstring.
	(slime-eval, slime-eval-async): Added new REASON parameter sent along
	with :abort message.

2006-09-18 23:25  mbaringer

	* ChangeLog:

	[no log message]

2006-09-14 00:56  dcrosher

	* ChangeLog, swank-scl.lisp:

	* Update for the SCL.

2006-09-13 17:36  mbaringer

	* slime.el, ChangeLog:

	[no log message]

2006-09-13 17:25  mbaringer

	* ChangeLog:

	[no log message]

2006-09-13 17:25  mbaringer

	* swank.lisp:

	(format-iso8601-time): Properly handle non integer time zones.

2006-09-13 17:18  mbaringer

	* slime.el:

	(slime-insert-xrefs): Specify which file the item is in (when that
	information is available).

2006-09-13 17:13  mbaringer

	* ChangeLog:

	[no log message]

2006-09-13 16:56  mbaringer

	* ChangeLog:

	[no log message]

2006-09-13 16:56  mbaringer

	* slime.el:

	Fixup (push|pop)-directory and (push|pop)-package.

2006-09-13 16:38  mbaringer

	* slime.el:

	Added disconnect, a new repl shortcut.

2006-09-13 16:37  mbaringer

	* ChangeLog:

	[no log message]

2006-09-13 16:31  mbaringer

	* swank.lisp:

	(format-arglist-for-echo-area): Instead of using let+first+rest to
	destructure a form use destructuring-bind.
	(lookup-presented-object): Added (declare (special *inspectee-parts*))
	to silence openmcl's compiler.
	(inspect-object): Generate, and send to emacs, an ID for the object
	being inspected.

2006-09-13 16:31  mbaringer

	* slime.el:

	(slime-open-inspector): Added a slime-part-number property to the
	topline so that you can slime-inspector-copy-down the object being
	inspected. There are some cases where we have an object in the
	inspector and we'd like to dump it to the repl but we can't get at it
	through other means (like in back-traces).

2006-09-13 16:30  mbaringer

	* ChangeLog:

	[no log message]

2006-09-11 10:01  nsiivola

	* ChangeLog, slime.el, swank-sbcl.lisp:

	REPL history with paredit &al, stepping in the REPL with SBCL.

2006-08-27 13:03  heller

	* ChangeLog:

	[no log message]

2006-08-27 13:01  heller

	* swank.lisp:

	(input-available-p, process-available-input): Use READ-CHAR-NO-HANG
	instead of LISTEN because LISTEN suddenly returns false in SBCL 0.9.??
	even if we are called from a fd-handler and the OPEN-STREAM-P returns
	true.

2006-08-26 14:11  mkoeppe

	* ChangeLog:

	[no log message]

2006-08-26 14:11  mkoeppe

	* slime.el:

	(slime-repl-return-behaviour): Fix the defcustom type, so Emacs 21.3
	does not signal an error when creating a customization buffer
	containing this variable.

2006-08-25 17:44  mkoeppe

	* ChangeLog:

	[no log message]

2006-08-25 17:44  mkoeppe

	* swank.lisp:

	(lookup-presented-object): Fix for OpenMCL 1.0 [ppc32], which requires
	that the :NO-ERROR clause is last in HANDLER-CASE.

2006-08-24 14:15  mkoeppe

	* ChangeLog:

	[no log message]

2006-08-24 14:15  mkoeppe

	* slime.el:

	(slime-ensure-presentation-overlay): Provide a
	help-echo for presentations, showing the mouse bindings.
	(slime-presentation-around-click): New function.
	(slime-copy-or-inspect-presentation-at-mouse)
	(slime-inspect-presentation-at-mouse)
	(slime-copy-presentation-at-mouse)
	(slime-describe-presentation-at-mouse)
	(slime-pretty-print-presentation-at-mouse): New commands.
	(slime-copy-presentation-at-point): Removed (misnomer).
	(slime-presentation-map): Bind mouse-2 to
	slime-copy-or-inspect-presentation-at-mouse, so the right thing is
	done in REPL buffers and in Inspector and Debugger buffers.
	(slime-menu-choices-for-presentation): Use the new commands here
	instead of inline lambdas.
	(sldb-inspect-in-frame): Use slime-read-object here, so if point
	is in a presentation in the debugger buffer, inspect it
	immediately just like slime-inspect does.
	(slime-inspect-presented-object): Removed.
	(slime-inspect): Don't expect that "swank:init-inspector" is
	already part of the form.  Accept an optional arg "no-reset".
	(slime-read-object): Don't add "swank:init-inspector" to the read
	form; slime-inspect now adds it.

2006-08-22 11:34  mkoeppe

	* ChangeLog:

	[no log message]

2006-08-22 11:31  mkoeppe

	* slime.el:

	(slime-inspector-insert-ispec): Mark up all values of
	inspected parts as presentations.
	(sldb-insert-locals): Mark up the values of local variables as
	presentations.
	(slime-remove-presentation-properties): Fix for read-only buffers.
	(slime-copy-presentation-at-point): Make it work when the current
	buffer is not the REPL buffer.
	(slime-menu-choices-for-presentation): Describe into a separate
	buffer, not the REPL.  New menu item, pretty-print.
	(slime-presentation-expression): Handle presentation ids that are
	not numbers.
	(slime-inspect-presented-object): Don't reset the inspector if
	already in the inspector buffer.

2006-08-22 11:31  mkoeppe

	* swank.lisp:

	(lookup-presented-object): Handle presentation ids
	(:frame-var frame index), (:inspected-part part-index).
	(init-inspector): New optional argument, reset.

2006-08-20 11:37  mkoeppe

	* ChangeLog:

	[no log message]

2006-08-20 11:36  mkoeppe

	* swank.lisp:

	(compute-enriched-decoded-arglist with-open-file): Add an IGNORE
	declaration.

2006-08-19 18:27  mkoeppe

	* swank.lisp:

	(*nil-surrogate*): New.
	(save-presented-object, lookup-presented-object): Distinguish
	between a saved NIL and a garbage-collected object that was
	replaced by NIL in the weak hash table.

2006-08-19 17:40  mkoeppe

	* ChangeLog:

	[no log message]

2006-08-19 17:39  mkoeppe

	* swank.lisp:

	(compute-enriched-decoded-arglist): Add method for handling APPLY.

2006-08-19 17:39  mkoeppe

	* slime.el:

	(slime-parse-extended-operator-name/apply): New.
	(slime-extended-operator-name-parser-alist): Add it to the alist.

2006-08-14 22:44  heller

	* swank-openmcl.lisp:

	More fixes.

2006-08-14 22:31  heller

	* ChangeLog:

	[no log message]

2006-08-14 22:24  heller

	* slime.el:

	(slime-accept-process-output-supports-floats): New variable to cache
	the result of calling accept-process-output with a float as timeout
	argument. Not all Emacs version support that and if the call raises an
	error we know that it's not supported.
	(slime-accept-process-output): Use it.

2006-08-14 07:20  heller

	* ChangeLog:

	[no log message]

2006-08-14 07:19  heller

	* swank-openmcl.lisp:

	Fix some breakage caused by the new defimplementation.

2006-08-11 18:29  heller

	* ChangeLog:

	[no log message]

2006-08-11 18:27  heller

	* slime.el:

	Test disconnecting.

2006-08-11 18:26  heller

	* swank-cmucl.lisp:

	(startup-idle-and-top-level-loops): Initialize MP if only once.

2006-08-11 18:25  heller

	* swank.lisp:

	(close-connection, swank-error): Include backtraces in our own errors.
	(simple-serve-requests): Don't enter the debugger (recursively) if
	the connection is closed.

2006-08-10 21:00  heller

	* ChangeLog:

	[no log message]

2006-08-10 20:57  heller

	* swank-openmcl.lisp:

	(accept-connection, arglist): Some updates for changed definterface
	implementation.

2006-08-10 20:56  heller

	* slime.el:

	(slime-restart-inferior-lisp-aux): Remove the interactive spec.

2006-08-10 20:55  heller

	* swank-allegro.lisp:

	(fspec-definition-locations): Improve handling of (:internal ... n)
	like fspecs.

2006-08-10 13:54  heller

	* ChangeLog:

	[no log message]

2006-08-10 13:53  heller

	* swank-abcl.lisp, swank-backend.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-corman.lisp, swank-ecl.lisp,
	  swank-lispworks.lisp, swank-sbcl.lisp, swank-scl.lisp,
	  swank.lisp:

	swank-backend.lisp (definterface): Drop that incredibly unportable
	CLOS stuff. Use plists and plain functions instead.  Update backends
	accordingly.

2006-08-09 19:08  heller

	* swank-backend.lisp:

	Some fixes to make it actually work.

2006-08-09 19:03  heller

	* ChangeLog:

	[no log message]

2006-08-09 19:01  heller

	* swank-abcl.lisp, swank-cmucl.lisp, swank-corman.lisp,
	  swank-openmcl.lisp, swank-scl.lisp:

	(inspect-for-emacs): Don't use defimplementation for real generics.

2006-08-09 18:55  heller

	* swank-lispworks.lisp:

	(inspect-for-emacs): Don't use defimplementation here.

2006-08-09 18:53  heller

	* slime.el:

	(slime-find-filename-translators): CL:MACHINE-INSTANCE can return nil.
	Silently accept that case for now.

2006-08-09 18:46  heller

	* swank.lisp:

	(test-print-arglist): Print a message instead of signalling an
	error. This should avoid startup problems (in particular with
	CormanLisp).

	(setup-stream-indirection): Disable it for now.  We should fix it, if
	there is need for this functionality or just remove it.

2006-08-09 18:34  heller

	* swank-backend.lisp:

	(definterface): Bring the old implementation based on
	NO-APPLICABLE-METHOD back.

2006-07-28 17:05  heller

	* ChangeLog:

	[no log message]

2006-07-28 17:04  heller

	* swank-allegro.lisp:

	Profiling functions on Allegro (except for profile-package). From
	Willem Broekema.

2006-07-24 16:13  mkoeppe

	* doc/.cvsignore:

	Ignore generated files.

2006-07-24 16:01  mkoeppe

	* ChangeLog:

	[no log message]

2006-07-24 16:01  mkoeppe

	* swank.lisp:

	(find-valid-operator-name): New, factored out from
	arglist-for-echo-area.
	(arglist-for-echo-area): Use it here.
	(print-arglist): New, factored out from decoded-arglist-to-string.
	Handle recursive arglist structures that arise in destructuring
	macro arglists.
	(decode-required-arg, encode-required-arg): New, handle
	destructuring patterns.
	(decode-keyword-arg, encode-keyword-arg, decode-optional-arg)
	(encode-optional-arg, decode-arglist, encode-arglist): Use them
	here to handle destructuring patterns.
	(print-decoded-arglist-as-template): Change interface, handle
	destructuring patterns.
	(decoded-arglist-to-template-string): Use it here.
	(enrich-decoded-arglist-with-keywords): New, factored out from
	enrich-decoded-arglist-with-extra-keywords.
	(enrich-decoded-arglist-with-extra-keywords): Use it here.
	(compute-enriched-decoded-arglist): New generic function, factored
	out from arglist-for-insertion, form-completion.  Add specialized
	method for with-open-file.
	(arglist-for-insertion, form-completion): Use it here.
	(arglist-ref): New.
	(completions-for-keyword): Change interface, handle destructuring
	macro arglists.

2006-07-24 16:01  mkoeppe

	* slime.el:

	(slime-enclosing-operator-names): For nesting levels
	without operator, record nil.
	(slime-completions-for-keyword): New argument arg-indices.
	(slime-contextual-completions): Pass all enclosing operators and
	arg-indices to slime-completions-for-keyword.

2006-07-16 17:25  mkoeppe

	* ChangeLog:

	[no log message]

2006-07-16 17:25  mkoeppe

	* slime.el:

	(slime-edit-definition): Invoke the
	slime-edit-definition-fall-back-function also in the case where
	find-definitions-for-emacs returns an error message.
	(slime-edit-definition-fallback-function): Fix typo (find-tag
	rather than find-tags).

2006-07-15 13:03  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	remove linux_no_threads_p, defcondition -> define-condition

2006-07-15 09:06  mkoeppe

	* slime.el:

	(slime-shared-lisp-mode-hook): New function, factored out from
	slime-lisp-mode-hook.
	(slime-lisp-mode-hook): Use it here.
	(slime-scheme-mode-hook): New function, use
	slime-shared-lisp-mode-hook.
	(slime-setup): If scheme-mode is one of the slime-lisp-modes, install
	our hook.

2006-07-15 09:03  mkoeppe

	* ChangeLog:

	[no log message]

2006-07-13 22:09  mkoeppe

	* ChangeLog:

	[no log message]

2006-07-13 22:09  mkoeppe

	* swank.lisp:

	(keywords-of-operator): New support function for writing user-defined
	`extra-keywords' methods.

2006-07-12 22:30  heller

	* ChangeLog:

	[no log message]

2006-07-12 22:25  heller

	* swank-allegro.lisp, swank.asd:

	* swank-allegro.lisp (make-weak-key-hash-table): Use ACL's weak
	hashtables.

	* swank.asd: Set *source-directory* to the asdf component dir.

2006-07-01 09:11  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	[no log message]

2006-06-26 08:29  heller

	* ChangeLog:

	[no log message]

2006-06-26 08:28  heller

	* swank-sbcl.lisp:

	(find-definitions): Remove backward compatibly code.

2006-06-26 08:24  heller

	* swank-sbcl.lisp:

	(swank-compile-string): Create temporary file with the string and
	compile-file it instead of compiling an anonymous lambda, as before,
	in order to better handle eval-when forms.

	(tmpnam, temp-file-name): New functions.

2006-06-25 10:45  heller

	* ChangeLog:

	[no log message]

2006-06-25 10:41  heller

	* slime.el:

	(test compile-defun): Add a test for #. reader macro at toplevel.
	(slime-run-one-test): New command.
	(sldb-activate): Recreate the sldb buffer if it doesn't exits. (Can
	happen if someone kills the buffer manually.)
	(slime-wait-condition): Add a dummy to slime-stack-eval-tags while waiting
	so that the SLDB enters a recursive edit.

2006-06-25 10:33  heller

	* swank-source-path-parser.lisp:

	(suppress-sharp-dot): Return a unique symbol to avoid nil entries at
	toplevel in the source-map.

2006-06-18 20:22  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-18 20:21  mkoeppe

	* swank.lisp:

	(extra-keywords change-class): Don't drop the first argument.

2006-06-18 20:21  mkoeppe

	* slime.el:

	(slime-echo-arglist): Simplify, just use slime-autodoc.

2006-06-18 19:53  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-18 19:53  mkoeppe

	* swank.lisp:

	(arglist): Distinguish between provided actual args
	and required formal args using the new slot provided-args.
	(form-completion): Likewise.
	(decoded-arglist-to-string): Use it here to display the argument
	list (make-instance 'CLASS-NAME ...) rather
	than (make-instance (quote CLASS-NAME) ...).

2006-06-18 16:53  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-18 16:53  mkoeppe

	* slime.el:

	(slime-parse-extended-operator-name): Don't move point; fixes infinite
	loop.

2006-06-17 18:11  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-17 18:10  mkoeppe

	* slime.el:

	(slime-parse-extended-operator-name)
	(slime-enclosing-operator-names): Fix the case when point is
	within the operator.

2006-06-17 17:09  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-17 17:07  mkoeppe

	* slime.el:

	(slime-parse-extended-operator-name/cerror): Handle cerror and
	change-class with :make-instance.
	(slime-extended-operator-name-parser-alist): Handle change-class.

2006-06-17 17:06  mkoeppe

	* swank.lisp:

	Remove FIXME.

2006-06-17 17:03  mkoeppe

	* swank.lisp:

	(operator-designator-to-form): Handle cerror and change-class with
	:make-instance.

2006-06-16 18:35  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-16 18:34  mkoeppe

	* swank.lisp:

	(operator-designator-to-form): Handle :cerror.
	(extra-keywords cerror): Make it work.

2006-06-16 18:33  mkoeppe

	* slime.el:

	(slime-parse-extended-operator-name)
	(slime-parse-extended-operator-name/make-instance)
	(slime-parse-extended-operator-name/defmethod): New functions,
	factored out from slime-enclosing-operator-names.
	(slime-parse-extended-operator-name/cerror): New function.
	(slime-extended-operator-name-parser-alist): New variable.
	(slime-enclosing-operator-names): Use them here.

2006-06-14 16:58  mkoeppe

	* ChangeLog:

	[no log message]

2006-06-14 16:58  mkoeppe

	* slime.el:

	(slime-goto-definition): If all definitions of a name have the same
	location, go there directly rather than presenting an xref buffer.

2006-06-11 13:02  dcrosher

	* ChangeLog, swank-scl.lisp:

	Update for the Scieneer CL 1.3.

2006-06-10 05:27  aruttenberg

	* ChangeLog, swank-abcl.lisp:

	2006-06-09  Alan Ruttenberg <alanr-l@mumble.net>
		* swank-abcl: Update to cvs version of abcl and warnings errors
		when compiling in a buffer will now be properly caught by slime vs
		current behavior of always saying 0 errors 0 warnings and printing
		them in the repl instead

2006-05-31 21:27  mbaringer

	* ChangeLog:

	[no log message]

2006-05-31 21:27  mbaringer

	* swank.lisp:

	(*sldb-quit-restart*): New variable.
	(throw-to-toplevel): Use the restart named by *sldb-quit-restart* as
	opposed to hard coding abort-request.

2006-05-30 01:41  mbaringer

	* ChangeLog:

	[no log message]

2006-05-30 01:39  mbaringer

	* slime.el:

	(slime-get-temp-buffer-create): New keyword REUSEP which indicates
	whether an already-existing buffer named like the buffer to be created
	should be reused, i.e. not killed, then freshly created. Update
	docstring accordingly.
	(slime-with-output-to-temp-buffer): Make &optional arg MODE an &key
	keyword arg. Add REUSEP keyword.
	(slime-macroexpansion-minor-mode-map): Make remapped `undo' update
	highlighted edits in the macroexpansion buffer.
	(slime-eval-macroexpand-in-place): Update highlighted edits when
	macroexpanding in-place.
	(slime-eval-macroexpand): Reuse macroexpansion buffer if it exists
	already to preserve `undo' functionality.

2006-05-30 01:22  mbaringer

	* ChangeLog:

	[no log message]

2006-05-30 01:18  mbaringer

	* slime.el:

	(slime-use-autodoc-mode): Fix typo in docstring.
	(slime-use-highlight-edits-mode): New variable, analogous to
	SLIME-USE-AUTODOC-MODE.
	(slime-setup, slime-lisp-mode-hook): Make above variable work. Also,
	activates the HIGHLIGHT-EDITS-MODE in proper way (thus avoiding the
	nasty "Toggling ... off; better pass an explicit argument." message.)

	Fix typo in comment about communication protocol.

2006-05-27 11:06  mbaringer

	* ChangeLog:

	[no log message]

2006-05-27 06:18  aruttenberg

	* ChangeLog, swank-abcl.lisp:

	2006-05-27  Alan Ruttenberg <alanr-l@mumble.net>
		* swank-abcl: slot-boundp-using-class slot-value-using-class  so you
		can inspect instances

2006-05-26 22:13  mbaringer

	* ChangeLog, slime.el:

	[no log message]

2006-05-25 05:15  bdowning

	* ChangeLog, swank.lisp:

	* swank.lisp (recursively-compute-most-completions & friends):
	  Micro-optimize the fuzzy completion engine, improving performace
	  by a factor of about 4 on SBCL.  However, it will only work on
	  simple-strings now, and CHAR= is burned in instead of being an
	  option.  I don't think this is too much of a limitation.  At this
	  point rendering the results on the emacs side takes much longer
	  than finding them for long result lists.

2006-05-24 23:26  aruttenberg

	* ChangeLog, swank-abcl.lisp:

	2006-05-24  Alan Ruttenberg <alanr-l@mumble.net>
		* swank-abcl: Add some more mop functions to you can inspect classes,
		generic functions, methods, slots.

2006-05-16 20:10  mbaringer

	* slime.el:

	[no log message]

2006-05-16 20:05  mbaringer

	* slime.el:

	(slime-repl-return-behaviour): New variable which controls
	slime-repl-return's heaviour.
	(slime-repl-return): Respect slime-repl-return-behaviour.

2006-05-16 20:04  mbaringer

	* ChangeLog:

	[no log message]

2006-05-14 15:25  mbaringer

	* ChangeLog:

	[no log message]

2006-05-14 15:24  mbaringer

	* slime.el:

	(slime-repl-return): Only send repl input if point is past a complete
	form.

2006-05-14 11:01  mbaringer

	* slime.el:

	(slime-macroexpansion-minor-mode-map): Rebind 'undo' to set
	buffer-read-only temporarily to t.

2006-05-14 11:00  mbaringer

	* ChangeLog:

	[no log message]

2006-05-12 14:22  mkoeppe

	* ChangeLog:

	[no log message]

2006-05-12 14:21  mkoeppe

	* swank.lisp:

	Fix for problem with Allegro CL 8.0: If I type M-x
	slime-update-indentation, Allegro CL starts growing until it hits a
	STORAGE-CONDITION or even segfaults.

2006-05-04 16:38  mkoeppe

	* ChangeLog:

	[no log message]

2006-05-04 16:38  mkoeppe

	* swank-allegro.lisp:

	(fspec-definition-locations): Handle
	:top-level-form entries that appear in backtraces.

2006-04-20 11:11  mbaringer

	* swank-openmcl.lisp:

	(toggle-trace): Implemented. Currently only provides 'best effort'
	support, :labels and :flet are ignored, :defmethod and :call are
	treated like a normal trace of the operator.

2006-04-20 11:10  mbaringer

	* ChangeLog:

	[no log message]

2006-04-20 07:46  heller

	* ChangeLog, swank.lisp, doc/slime.texi:

	(*use-dedicated-output-stream*): Disable it by default to avoid race
	conditions.

2006-04-19 18:00  crhodes

	* ChangeLog, doc/Makefile, doc/slime.texi:

	Small manual fixes.

2006-04-19 17:13  crhodes

	* ChangeLog, swank.lisp:

	Fixes/improvements to the make-instance highlighting.
	* shared-initialize and allocate-instance keywords

	Also fixes to general keyword argument list handling: notably getting
	the keyword and variable the right way round.

2006-04-19 11:18  crhodes

	* ChangeLog, swank-sbcl.lisp, doc/slime.texi:

	Use the NIL communication style for sbcl/win32 (and document it, too)

2006-04-18 09:47  ewiborg

	* ChangeLog, swank-corman.lisp:

	Define a class file-stream to let swank.lisp
	load.

2006-04-17 01:34  asimon

	* ChangeLog:

	[no log message]

2006-04-17 01:33  asimon

	* swank-abcl.lisp:

	(accept-connection): New argument: timeout.

2006-04-14 18:07  heller

	* ChangeLog:

	[no log message]

2006-04-14 18:06  heller

	* slime.el:

	* slime.el (slime-autodoc): Fix reference to unbound variable.

2006-04-13 12:44  msimmons

	* ChangeLog:

	[no log message]

2006-04-13 12:41  msimmons

	* swank-loader.lisp:


	(load-site-init-file, swank-source-files): Fix
	pathname construction to take all unspecified components from the
	directory pathname, in particular the drive letter on Windows.

2006-04-13 07:51  heller

	* ChangeLog:

	[no log message]

2006-04-13 07:51  heller

	* slime.el:

	(slime-find-filename-translators): Use assof-if instead
	of assoc-default for XEmacs compatibility.

	(slime-show-note-counts): Don't show the highlighting bit as it
	spills of the screen.
	(slime-highlight-notes): Use with-temp-message.
	(with-temp-message): Define it for XEmacs.

	(slime-beginning-of-symbol): Use eq instead of char-equal as
	char-equal signals an error at the beginning of a buffer.

2006-04-13 06:26  dcrosher

	* ChangeLog, swank-scl.lisp:

	* Update the Scieneer CL backend.

2006-04-12 10:43  nsiivola

	* ChangeLog, swank-backend.lisp, swank-gray.lisp, swank-sbcl.lisp:

	Stream locking patch from Robert Macomber

2006-04-02 20:26  mkoeppe

	* slime.el:

	(slime-fontify-string): Use slime-insert-propertized rather than
	set-text-properties or propertize.

2006-04-02 00:55  mkoeppe

	* ChangeLog:

	[no log message]

2006-04-02 00:54  mkoeppe

	* slime.el:

	(slime-fontify-string): Use set-text-properties, not
	propertize, for Emacs 20 compatibility.  Patch by Matthew D. Swank

2006-03-30 18:42  heller

	* ChangeLog:

	[no log message]

2006-03-30 18:41  heller

	* slime.el:

	(slime-find-filename-translators): Use string-match.

2006-03-30 18:38  heller

	* slime.el:

	(slime-macroexpansion-minor-mode): Make it Emacs 20 compatible.

	(slime-init-command): Don't translate filenames since the new scheme
	doesn't work without a connection.
	(slime-to-lisp-filename,slime-from-lisp-filename): Remove some
	redundancy.

2006-03-30 00:36  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-30 00:36  mkoeppe

	* slime.el:

	(slime-repl-mode): Enable autodoc-mode if slime-use-autodoc-mode is
	true.

2006-03-28 22:44  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-28 22:41  mkoeppe

	* swank.lisp:

	(multiple-value-or): New macro.
	(extra-keywords): Use MULTIPLE-VALUE-OR rather than OR.

2006-03-28 22:12  mkoeppe

	* slime.el:

	(slime-recently-visited-buffer): Ignore internal buffers (starting
	with a space), to avoid selecting the  *slime-fontify* buffer.
	Reported by Andreas Fuchs.

2006-03-28 22:05  mkoeppe

	* slime.el:

	(slime-enclosing-operator-names): Fix last change.

2006-03-28 06:38  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-28 02:43  mkoeppe

	* slime.el:

	(slime-enclosing-operator-names): Handle forms similar
	to make-instance (make-condition, error, etc.), to get extra
	keywords based on the condition class.

2006-03-28 02:41  mkoeppe

	* swank.lisp:

	(operator-designator-to-form): Handle forms similar
	to make-instance (make-condition, error, etc.)
	(extra-keywords/make-instance): New function.
	(extra-keywords): Specialize on operators make-condition, error,
	signal, warn, cerror.

2006-03-28 02:30  mkoeppe

	* hyperspec.el:

	(common-lisp-hyperspec-strip-cl-package): New function.
	(common-lisp-hyperspec): Don't get confused by a cl: or common-lisp:
	package prefix.

2006-03-27 10:58  mbaringer

	* slime.el:

	(slime-make-tramp-file-name): If emcas' tramp has
	tramp-multi-methods then pass the method parameter to
	tramp-make-tramp-file-name, otherwise don't.
	(slime-create-filename-translator): Use
	slime-make-tramp-file-name.

2006-03-27 10:57  mbaringer

	* ChangeLog:

	[no log message]

2006-03-27 09:15  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-27 09:14  mkoeppe

	* slime.el:

	(slime-hyperspec-lookup): Don't get confused by a cl: or common-lisp:
	package prefix.

2006-03-26 23:20  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-26 23:19  mkoeppe

	* slime.el:

	(slime-enclosing-operator-names): Fix for situation
	when point is at end of buffer, as it happens often in the REPL.

2006-03-26 06:24  mkoeppe

	* swank.lisp:

	Move arglist test code down where all used functions are defined.

2006-03-26 05:58  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-26 05:57  mkoeppe

	* swank.lisp:

	(arglist-for-echo-area): New keyword arg, print-lines.
	(decoded-arglist-to-string): New function, implement argument
	highlighting also for &optional and &rest/&body arguments.
	(arglist-to-string): Use decoded-arglist-to-string.
	(arglist): New slots aux-args, known-junk, unknown-junk.
	(nreversef): New macro.
	(decode-arglist, encode-arglist): Refine to handle more structure
	in argument lists, including implementation-defined stuff like
	&parse-body.
	(format-arglist-for-echo-area): New keyword arg, print-lines.
	Simplify the code as there is no need to fall back to the unparsed
	arglist any more.

2006-03-26 05:51  mkoeppe

	* slime.el:

	(slime-fontify-string): Fix for arguments spanning
	multiple lines.
	(slime-autodoc-message-dimensions): New.
	(slime-autodoc-thing-at-point): Use it here to either ask for a
	one-line or a nicely formatted multi-line arglist.
	(slime-enclosing-operator-names): Handle linebreaks.

2006-03-24 08:30  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-24 08:30  mkoeppe

	* swank-allegro.lisp:

	(set-default-directory): Fix for pathnames without a trailing slash.
	From Mikel Bankcroft <mutandiz@yahoo.com>

2006-03-24 00:28  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-24 00:27  mkoeppe

	* slime.el:

	(slime-background-activities-enabled-p): Allow
	"background activities" in sldb-mode.
	(slime-autodoc-message-ok-p): Allow autodoc in sldb-mode.
	(sldb-mode-syntax-table): New variable.
	(sldb-mode): Enable autodoc-mode when slime-use-autodoc-mode is
	true.  Use sldb-mode-syntax-table to make #<...> balance like
	parentheses.  This enables autodoc-mode to match #<unreadable>
	actual arguments in the backtraces with formal arguments of the
	function.
	(slime-beginning-of-symbol, slime-end-of-symbol): Handle
	es::|caped| symbols.
	(slime-enclosing-operator-names): Use syntax table to check
	whether we are at the beginning of a balanced expression.

2006-03-23 08:14  crhodes

	* ChangeLog, slime.el, swank.lisp:

	Allow swank:ed-in-emacs to take cons function names.  (This adds some
	ambiguity with conses representing filenames and positions)

2006-03-23 06:02  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-23 06:01  mkoeppe

	* slime.el:

	* slime.el (slime-qualify-cl-symbol-name): Strip leading colon
	from package names for qualifying symbols.
	(slime-call-defun): New command.
	(slime-keys): Bind it to C-c C-y.
	(slime-easy-menu): Show it in the menu.

	* slime.el (slime-autodoc-use-multiline-p): New defcustom.
	(slime-autodoc-message): Use it here.  Fix bug that autodoc
	messages exceeding one line could not be overwritten by later
	autodoc messages.
	(slime-autodoc-pre-command-refresh-echo-area): Use message
	rather than slime-background-message.

2006-03-23 00:20  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-23 00:18  mkoeppe

	* swank.lisp:

	(casify): Removed.
	(casify-char, tokenize-symbol-thoroughly): New functions.
	(parse-symbol): Use tokenize-symbol-thoroughly, so as to handle
	|escaped symbols|.

2006-03-22 21:02  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-22 21:01  mkoeppe

	* swank.lisp:

	(arglist-for-echo-area): Fix when arg-indices are not given.

2006-03-22 17:40  dcrosher

	* ChangeLog, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-cmucl.lisp, swank-corman.lisp,
	  swank-ecl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank-scl.lisp, swank.lisp:

	* Improve the robustness of connection establishment.

2006-03-22 07:06  mkoeppe

	* swank.lisp:

	(inspect-for-emacs stream-error t): Don't call pathname on non-file streams.

2006-03-22 03:48  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-22 03:48  mkoeppe

	* slime.el:

	(slime-ed): Handle (FILENAME :charpos CHARPOS).

2006-03-22 03:46  mkoeppe

	* swank.lisp:

	(inspect-for-emacs): Specialize on FILE-STREAM and STREAM-ERROR,
	offering to visit the file at the current stream position as an
	inspector action.  Useful for dealing with reader errors.

2006-03-20 00:15  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-20 00:15  mkoeppe

	* slime.el:

	(slime-autodoc-pre-command-refresh-echo-area):
	Show the last autodoc message again (movement commands clear it);
	technique to avoid flickering, taken from eldoc.
	(slime-autodoc-mode): Install it as a pre-command-hook.
	(slime-autodoc-last-message): New variable.
	(slime-autodoc-message): New function.
	(slime-autodoc): Use them here.
	(slime-autodoc-message-ok-p): OK to overwrite an autodoc message.

	(slime-handle-indentation-update): Also update
	scheme-indent-function if slime-lisp-modes contains scheme-mode.

2006-03-19 07:51  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-19 07:49  mkoeppe

	* slime.el:

	(slime-space): First insert the space, then obtain
	information.
	(slime-fontify-string): Also handle argument highlights.
	(slime-enclosing-operator-names): As a secondary value, return a
	list of the indices of the arguments to the nested operator.
	(slime-contextual-completions): Use changed interface of
	slime-enclosing-operator-names.
	(slime-function-called-at-point): Removed.
	(slime-function-called-at-point/line): Removed.
	(slime-autodoc-thing-at-point): New.
	(slime-autodoc): Re-implement with slime-enclosing-operator-names
	instead of slime-function-called-at-point.
	(slime-echo-arglist): Pass the argument indices to
	arglist-for-echo-area.
	(slime-autodoc-message-ok-p): Autodoc is also OK in REPL buffers.

2006-03-19 07:38  mkoeppe

	* swank.lisp:

	(arglist-for-echo-area): New keyword argument arg-indices.
	(arglist-to-string): New keyword argument highlight.
	(format-arglist-for-echo-area): Likewise.

2006-03-18 08:45  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-18 08:43  mkoeppe

	* slime.el:

	(slime-goto-location-buffer): Avoid calling the expensive function
	find-file-noselect when we are already in the right buffer.

	(slime-autodoc): Use :print-right-margin here to make use of the whole
	width of the echo area for arglist display.

2006-03-18 08:37  mkoeppe

	* swank.lisp:

	(arglist-for-echo-area): Add keyword argument
	print-right-margin.
	(arglist-to-string, format-arglist-for-echo-area): Likewise.

2006-03-16 19:34  mbaringer

	* swank-allegro.lisp:

	(inspect-for-emacs): Fix typo.

2006-03-16 19:33  mbaringer

	* ChangeLog:

	[no log message]

2006-03-16 18:26  mbaringer

	* swank-loader.lisp:

	(lisp-version-string): Modified swank-loader so that Allegro's alisp
	and mlisp programs get different locations. Otherwise mlisp complains
	about alisp's files.

2006-03-16 18:25  mbaringer

	* ChangeLog:

	[no log message]

2006-03-16 13:51  mbaringer

	* ChangeLog:

	[no log message]

2006-03-16 13:51  mbaringer

	* slime.el:

	(slime-to-lisp-filename): Call expand-file-name before passing the
	filename to the to-lisp function.

2006-03-14 21:45  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-14 21:37  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-14 21:36  mkoeppe

	* slime.el:

	(slime-note-counts-message): New variable.
	(slime-show-note-counts): Store the note counts message for later use.
	(slime-highlight-notes, slime-list-compiler-notes): Show a
	progress message, keeping note counts visible.

2006-03-14 08:43  mkoeppe

	* ChangeLog:

	[no log message]

2006-03-14 08:41  mkoeppe

	* slime.el:

	(slime-system-history): New variable.
	(slime-read-system-name): Use a separate history list for ASDF
	system names.

2006-03-14 05:30  mkoeppe

	* swank-allegro.lisp:

	(compile-from-temp-file): Suppress Allegro's redefinition warnings;
	they are pointless when we are compiling via a temporary file.
	(profile-report): Implement.

2006-03-07 17:59  mbaringer

	* slime.el:

	* slime.el: (slime-create-filename-translator): use the tramp
	methods for dissecting and building filenames.

2006-03-07 10:51  mbaringer

	* swank-openmcl.lisp:

	(slime-create-filename-translator): use the tramp methods for
	dissecting and building filenames.

2006-03-07 10:50  mbaringer

	* ChangeLog:

	[no log message]

2006-03-04 21:13  mbaringer

	* slime.el:

	(slime-filename-translations): Typo in example.
	(slime-create-filename-translator): Typo in generated lambdas.

2006-03-04 21:13  mbaringer

	* ChangeLog:

	[no log message]

2006-03-03 16:40  mbaringer

	* slime.el:

	[no log message]

2006-03-03 16:03  mbaringer

	* doc/slime.texi, ChangeLog:

	[no log message]

2006-03-03 16:02  mbaringer

	* slime.el:

	(slime-translate-to-lisp-filename-function): removed.
	(slime-translate-from-lisp-filename-function): removed.
	(slime-filename-translations): New variable.
	(slime-to-lisp-filename): Rewrote to search through available
	transalations.
	(slime-from-lisp-filename): idem.
	(slime-create-filename-translator): New function.
	(slime-add-filename-translation): New function.

2006-02-27 20:16  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-27 20:15  mkoeppe

	* slime.el:

	(slime-eval-macroexpand-inplace): Indent the inserted macroexpansion.

2006-02-27 15:30  mbaringer

	* doc/slime.texi:

	Document new macroexpansion mode.

2006-02-27 15:30  mbaringer

	* slime.el:

	(slime-macroexpansion-minor-mode): Attempt to map -inplace functions
	to the same keys as their regular contureparts in slime-mode-map.
	(slime-eval-macroexpand-inplace): New function.
	(slime-macroexpand-1-inplace): New function.
	(slime-macroexpand-all-inplace): New function.

2006-02-27 15:29  mbaringer

	* ChangeLog:

	[no log message]

2006-02-25 18:46  dcrosher

	* ChangeLog, swank-scl.lisp:

	o swank-scl.lisp: Fix slime input stream reading.

2006-02-25 16:15  heller

	* slime.el:

	Replace some occurrences of *VARNAME* with VARNAME which is more
	idiomatic Elisp.

2006-02-25 16:00  heller

	* ChangeLog:

	[no log message]

2006-02-25 15:57  heller

	* slime.el:

	(slime-lisp-host): New variable. Replace all references to "127.0.0.1"
	with the variable.

2006-02-25 15:57  heller

	* swank-loader.lisp:

	(default-fasl-directory): Previously we return only the
	directory-namestring which breaks SCL, because it loses the host and
	device components.  Return the complete pathname instead.  Patch by
	Douglas Crosher.

2006-02-25 13:10  dcrosher

	* ChangeLog, swank-backend.lisp, swank-scl.lisp, swank.lisp:

	* swank-backend.lisp (operate-on-system): symbol case fix for
	  SCL's lowercase mode.

	* swak.lisp (setup-stream-indirection)
	  (globally-redirect-io-to-connection)
	  (revert-global-io-redirection): symbol case fixes.

	* swank-scl.lisp: (inspect-for-emacs):  Fixes for the inspect
	  standard-objects, and inspect array.  Plus misc symbol case fixes.

2006-02-23 00:43  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-23 00:43  mkoeppe

	* slime.el:

	(slime-repl-send-input): Don't include the final newline in the
	slime-repl-input-face overlay, thus avoid showing the "Evaluation
	aborted" message in boldface.  Don't set non-existent "rear-nonsticky"
	overlay property; overlay stickiness is controlled by make-overlay
	arguments.

2006-02-21 07:45  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-21 07:44  mkoeppe

	* swank.lisp:

	(operator-designator-to-form): New, factored out from
	arglist-for-echo-area.
	(arglist-for-echo-area): Use it here.
	(completions-for-keyword): New.
	(find-matching-symbols-in-list): New.

2006-02-21 07:44  mkoeppe

	* slime.el:

	(slime-complete-keywords-contextually): New
	customizable variable.
	(slime-enclosing-operator-names): New optional argument
	max-levels.
	(slime-completions-for-keyword): New.
	(slime-contextual-completions): New.
	(slime-expand-abbreviations-and-complete): Use it instead of
	slime-completions.

2006-02-20 09:04  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-20 09:03  mkoeppe

	* slime.el:

	(slime-expand-abbreviations-and-complete): Scroll the completions
	buffer if the TAB key is pressed another time, like Emacs minibuffer
	completion does.

2006-02-18 14:42  mbaringer

	* ChangeLog, slime.el, swank-openmcl.lisp:

	[no log message]

2006-02-17 02:33  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-17 02:33  mkoeppe

	* present.lisp:

	[sbcl]: Load it here.
	(slime-stream-p, write-annotation) [sbcl]: Handle pretty-streams.

2006-02-17 02:30  mkoeppe

	* sbcl-pprint-patch.lisp:

	New file, adds the annotations feature to the SBCL pretty printer.
	This is needed for sending presentations through pretty-printing
	streams.

2006-02-10 18:24  heller

	* slime.el:

	Test to see what UseNewInfoFmtStrings=yes does.

2006-02-10 17:56  heller

	* ChangeLog:

	[no log message]

2006-02-10 17:54  heller

	* swank.lisp:

	(macro-indentation): Don't count '&optional as argument.

2006-02-10 17:54  heller

	* swank-allegro.lisp, swank-lispworks.lisp:

	(inspect-for-emacs): Use the backend specific method to inspect
	standard-objects because {slot-boundp,slot-value}-using-class don't
	conform to the MOP spec in LW and ACL.

2006-02-10 17:50  heller

	* swank-loader.lisp:

	(Re)Introduce something like a SLIME version and put fasl files for
	different versions in different directories.  A common problem is that
	newbies download the latest release and discover that it doesn't
	compile with the brand new CLISP or SBCL; then they download the CVS
	version but the loader doesn't recompile the needed files because time
	stamp of the borken fasl files are newer than source files in CVS.

	(default-fasl-directory): Include the SLIME version.
	(slime-version-string): New.

2006-02-06 19:42  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-06 19:42  mkoeppe

	* swank.lisp:

	(arglist-to-template-string): Unused, removed.
	(extra-keywords): Indicate which part of the actual arglist was
	used to determine the extra keywords.  For MAKE-INSTANCE, don't
	signal an error if the class does not exist.
	(enrich-decoded-arglist-with-extra-keywords): Indicate which part
	of the actual arglist was used to determine the extra keywords,
	and whether any extra keywords were added.
	(form-completion): Generalize to handle display of enriched formal
	arglists.
	(read-incomplete-form-from-string): New, factored out from
	complete-form.  Handle end-of-file.
	(complete-form): Use it here.
	(format-arglist-for-echo-area): Use form-completion, so as to
	show enriched formal arglists for MAKE-INSTANCE and DEFMETHOD
	calls.
	(arglist-for-echo-area): Handle MAKE-INSTANCE and DEFMETHOD
	calls.

2006-02-06 19:33  mkoeppe

	* slime.el:

	(slime-enclosing-operator-names): Represent MAKE-INSTANCE calls by
	(:make-instance "CLASS-NAME"), handle DEFMETHOD too.

2006-02-06 04:36  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-06 04:36  mkoeppe

	* slime.el:

	(slime-complete-form): Indent the inserted template.

2006-02-05 03:22  mkoeppe

	* ChangeLog:

	[no log message]

2006-02-05 03:21  mkoeppe

	* slime.el:

	(slime-fontify-string): New.
	(slime-echo-arglist, slime-arglist, slime-autodoc): Use it here to
	fontify echo-area arglists.

2006-02-02 11:29  mbaringer

	* ChangeLog, swank-openmcl.lisp:

	[no log message]

2006-02-02 03:45  aruttenberg

	* ChangeLog, swank-abcl.lisp:

	swank-abcl.lisp: define with-compilation-hooks (= funcall for now), so that you can do slime-oos

2006-01-30 20:56  heller

	* ChangeLog, swank-backend.lisp, swank.lisp:

	Patch from Ian Eslick.

	Show slot values for metaclasses that override the default storage
	locations for objects slots (i.e. where the default slot-boundp
	returns nil) in the inspector.

	* swank.lisp (inspect-for-emacs standard-object): Use
	slot-value-using-class and slot-boundp-using-class.

	* swank-backend.lisp: Add slot-value-using-class and
	slot-boundp-using-class to the swank-mop package.

2006-01-30 20:07  heller

	* ChangeLog, slime.el, swank.lisp:

	Patch from Lus Oliveira.

	Extend slime-echo-arglist to display initargs and initforms when
	make-instance is detected.

	* slime.el (slime-enclosing-operator-names): detect make-instance
	forms and collect the class-name argument if it exists and is a
	quoted symbol.

	* swank.lisp (arglist-for-echo-area): handle pairs of of the form
	("make-instance" . "<class-name>") by passing them to
	format-initargs-and-initforms-for-echo-area.
	(class-initargs-and-iniforms): New function.
	(format-initargs-and-initforms-for-echo-area): New function.

2006-01-20 22:33  heller

	* ChangeLog:

	[no log message]

2006-01-20 22:31  heller

	* swank-sbcl.lisp:

	(restart-frame): Provide an implementation even if it doesn't quite do
	what it's supposed to do.

2006-01-19 23:56  heller

	* ChangeLog, swank-loader.lisp, slime.el:

	Return to the previous loading strategy: load everything when
	swank-loader is loaded.  It's just to convenient to give that up.  To
	customize the fasl directories, the new variable
	swank-loader:*fasl-directory* can be set before loading swank-loader.

	* swank-loader.lisp (*fasl-directory*, *source-directory*): New variables.
	 (load-swank): Call it during loading.

2006-01-17 21:34  heller

	* ChangeLog:

	[no log message]

2006-01-17 21:29  heller

	* swank-loader.lisp:

	(load-swank): New entry point.

2006-01-17 21:28  heller

	* swank.lisp:

	(spawn-threads-for-connection): Fix a race condition: Don't accept
	input before all threads are ready.

	(throw-to-toplevel): No longer invoke the 'abort restart if the
	'abort-request isn't available.

2006-01-17 21:26  heller

	* slime.el:

	(slime-compile-defun): If point was at the opening paren we wrongly
	used the preceding toplevel form.  Fix it.  Reported by Chisheng Huang
	and Liam M. Healy.

	(slime-selector ?r): Call slime instead of slime-start to pick up the
	usual defaults.

	(slime-init-command): Updated for the new loader.

2006-01-03 05:46  aruttenberg

	* swank-abcl.lisp:

	[no log message]

2006-01-03 05:05  aruttenberg

	* swank-abcl.lisp:

	[no log message]

2006-01-03 04:58  aruttenberg

	* ChangeLog, swank-abcl.lisp:

	2005-12-27  Alan Ruttenberg <alanr-l@mumble.net>

		* swank-abcl. (backtrace-as-list-ignoring-swank-calls): remove the
		swank calls from the backtrace to make it easier to use.
		(frame-locals): Fix a typo that caused entry into the debugger if you tried to
		look at frame locals. Now you don't error out, but you still don't see frame locals
		because I don't know how to get them :(

2005-12-31 16:08  heller

	* ChangeLog:

	[no log message]

2005-12-31 16:06  heller

	* slime.el:

	(slime-open-stream-to-lisp): Inherit the process-coding-system from
	the current connection.  From Harald Hanche-Olsen.

2005-12-27 16:14  heller

	* ChangeLog:

	[no log message]

2005-12-27 16:12  heller

	* swank.lisp:

	(log-event): Record the event in the history buffer.
	(*event-history*, *event-history-index*, *enable-event-history*): Ring
	buffer for events.
	(dump-event-history, dump-event, escape-non-ascii, ascii-string-p)
	(ascii-char-p): New functions.

	(close-connection): Escape non-ascii strings and include the event
	history in the error message.

2005-12-22 22:21  heller

	* slime.el:

	(slime-highlight-edits-compile-hook): Remove overlays also from
	surrounding whitespace.
	(slime-highlight-edits): Save match data.
	(slime-only-whitespace-p): New function.

2005-12-22 17:06  heller

	* ChangeLog:

	[no log message]

2005-12-22 17:03  heller

	* slime.el:

	Make highlighting of modified text a minor mode. Also use
	after-change-functions instead of rebinding all self-inserting keys.

	(slime-highlight-edits-mode): New minor mode.
	(slime-self-insert-command): Deleted.
	(slime-before-compile-functions): New hook to decouple edit
	highlighting from compilation.
	(slime-highlight-edits-face): Renamed from slime-display-edit-face.

2005-12-20 01:26  mbaringer

	* swank.lisp:

	(all-slots-for-inspector): New function.
	(inspect-for-emacs): Use all-slots-for-inspector.

2005-12-20 01:25  mbaringer

	* ChangeLog:

	[no log message]

2005-12-20 01:14  mbaringer

	* ChangeLog:

	[no log message]

2005-12-20 01:13  mbaringer

	* slime.el:

	(slime-self-insert-command): Got rid of message about setting up face
	and skipping edit-hilights when in a comment.

2005-12-18 18:24  nsiivola

	* ChangeLog, slime.el:

	Be more careful when adding slime-self-insert-command bindings

2005-12-16 14:35  nsiivola

	* slime.el, ChangeLog, swank.lisp:

	slime-selector tweak, robuster printing

2005-12-16 12:43  mbaringer

	* ChangeLog:

	[no log message]

2005-12-16 12:42  mbaringer

	* slime.el:

	(slime-display-edit-hilights): New variable.
	(slime-display-edit-face): New face.
	(slime-compile-file, slime-compile-defun, slime-compile-region):
	Remove edits overlay.
	(slime-remove-edits): New function.
	(slime-self-insert-command): New function.
	(slime-mode-hook): Rebind simple characters to
	slime-self-insert-command.

2005-12-07 18:51  mkoeppe

	* ChangeLog:

	[no log message]

2005-12-07 18:47  mkoeppe

	* swank-allegro.lisp:

	(find-definition-in-file)
	(find-fspec-location, fspec-definition-locations): Allegro CL
	properly records all definitions made by arbitrary macros whose
	names start with "def".  Use excl::find-source-file and
	scm:find-definition-in-definition-group (rather than
	scm:find-definition-in-file) to find them.

2005-12-07 14:16  mkoeppe

	* ChangeLog:

	[no log message]

2005-12-07 14:15  mkoeppe

	* slime.el:

	(slime-load-file): Change the default to be the buffer
	file name with extension.  This is more convenient for files like
	.asd files that do not have the default source file extension.
	(slime-save-some-lisp-buffers, slime-update-modeline-package):
	Handle all files with major mode in slime-lisp-modes, not just
	lisp-mode.

2005-12-06 00:01  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	2005-12-06  Juho Snellman <jsnell@iki.fi>
	        * swank-sbcl.lisp (function-source-location,
	          safe-function-source-location): Oops, define these functions
	          also for the >0.9.6 case. Fixes broken sldb-show-source on
	          SBCL 0.9.7.

2005-12-05 21:20  heller

	* ChangeLog:

	[no log message]

2005-12-05 21:19  heller

	* slime.el:

	(slime-find-coding-system): Use check-coding-system only if it's
	actually fbound.

2005-11-22 21:44  heller

	* ChangeLog:

	[no log message]

2005-11-22 21:42  heller

	* slime.el:

	(slime-connect): Use slime-net-coding system if the optinal
	coding-system was not supplied.  From Marco Monteiro.

2005-11-22 11:37  heller

	* ChangeLog:

	[no log message]

2005-11-22 11:36  heller

	* slime.el:

	(slime-compile-file): Call 'check-parens before compiling.

	(slime-find-coding-system): Return nil if the coding system isn't
	valid instead of signalling an error.
	(slime-repl-history-file-coding-system): Use slime-find-coding-system
	find the default.

2005-11-22 11:32  heller

	* swank-cmucl.lisp:

	(accept-connection): Remove fd-handlers if the encoding isn't
	iso-latin-1.

2005-11-21 00:31  heller

	* PROBLEMS:

	Mention READ-CHAR-NO-HANG brokeness.

2005-11-21 00:30  heller

	* ChangeLog:

	[no log message]

2005-11-21 00:29  heller

	* swank-cmucl.lisp:

	(inspect-for-emacs): Add support for funcallable instances.

2005-11-21 00:27  heller

	* swank.lisp:

	(pprint-inspector-part, swank-compiler-macroexpand): New.

2005-11-21 00:25  heller

	* swank-backend.lisp:

	(compiler-macroexpand-1, compiler-macroexpand): New functions.

2005-11-21 00:24  heller

	* slime.el:

	(slime-start): Don't set slime-net-coding-system ..
	(slime-read-port-and-connect): .. read it from the inferior lisp args.
	(slime-connect): Take the coding-system as third argument.

	(slime-repl-history-file-coding-system): New user option.
	(slime-repl-safe-save-merged-history): New function.  Use it in hooks
	so that bad coding systems don't stop us from exiting.
	(slime-repl-save-history): Include the coding-system which was used to
	save the buffer.

	(repl-shoctut change-package): Add alias ,in and ,in-package.

	(slime-eval-macroexpand): Error out early if there's no sexp at point.

	(slime-compiler-macroexpand): New command.

	(slime-inspector-pprint): New command.

2005-11-13 23:31  dcrosher

	* ChangeLog, swank-scl.lisp:

	* swank-scl.lisp (accept-connection): handle the :buffering argument.

2005-11-13 18:32  asimon

	* ChangeLog:

	swank-abcl.lisp: (accept-connection): New argument: buffering.

2005-11-13 18:27  asimon

	* swank-abcl.lisp:

	(accept-connection): New argument: buffering.

2005-11-13 12:24  asimon

	* ChangeLog:

	swank-abcl.lisp: Steal auto-flush stuff from swank-sbcl.lisp

2005-11-13 12:22  asimon

	* swank-abcl.lisp:

	Steal auto-flush stuff from swank-sbcl.lisp

2005-11-12 00:47  heller

	* swank.lisp:

	(*dedicated-output-stream-buffering*): New variable to customize the
	buffering scheme.  For single-threaded Lisps we disable buffering
	because lazy programmers forget to call finish-output.
	(open-dedicated-output-stream): Use it.

2005-11-12 00:47  heller

	* ChangeLog:

	[no log message]

2005-11-12 00:45  heller

	* slime.el:

	(slime-repl-save-history): When the history exceeds
	slime-repl-history-size remove the old not the new entries.

	Some renaming:
	slime-repl-read-history -> slime-repl-load-history,
	slime-repl-read-history-internal -> slime-repl-read-history.

	(slime-eval-macroexpand): Call font-lock-fontify-buffer explicitly,
	because with certain Emacs versions the buffer doesn't get fontified
	immediately.

2005-11-12 00:43  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-corman.lisp, swank-ecl.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank-scl.lisp:

	(accept-connection): New argument: buffering.

2005-11-07 09:30  heller

	* ChangeLog:

	[no log message]

2005-11-07 09:28  heller

	* slime.el:

	(slime-eval-macroexpand): Use lisp-mode (and font-lock-mode) when
	dispaying the expansion.  Suggested by Jan Rychter.

2005-11-07 09:24  heller

	* swank-source-path-parser.lisp:

	(make-source-recording-readtable): Suppress the #. reader-macro.
	(suppress-sharp-dot): New function.
	(read-source-form): Disable *read-eval*.

	(*source-map*): Deleted. We can do everything with a lexical variable.

2005-11-06 10:09  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	swank-sbcl.lisp (find-definitions, make-source-location-specification
	make-definition-source-location, source-hint-snippet):

	As of SBCL 0.9.6.25 SB-INTROSPECT has better support for finding
	source locations. Use as much of it in swank-sbcl as possible.
	(Original version left reader-conditionalized for older SBCLs).

2005-11-04 10:07  heller

	* ChangeLog:

	[no log message]

2005-11-04 10:06  heller

	* slime.el:

	(slime-set-connection-info): Generate a new connection name only if
	the implementation-name and the inferior-lisp-name are different.

2005-11-04 10:04  heller

	* swank.lisp:

	(connection-info): Docfix.

2005-10-31 09:26  heller

	* ChangeLog:

	[no log message]

2005-10-31 09:22  heller

	* swank.lisp:

	(simple-serve-requests): Add an extra abort restart.

	(connection-info): Rename :type-name to :name.

2005-10-31 09:21  heller

	* slime.el:

	(slime-start, slime-lookup-lisp-implementation)
	(slime-set-connection-info): Add a :name property for the
	implementation and use it to derive the connection-name.
	(slime-lisp-implementation-name): Renamed from
	slime-lisp-implementation-type-name.

2005-10-30 18:07  asimon

	* ChangeLog:


	* swank-abcl.lisp (inspect-for-emacs): Track mop changes in ABCL.

2005-10-30 17:57  asimon

	* swank-abcl.lisp:

	Track mop changes in ABCL

2005-10-30 16:14  heller

	* ChangeLog:

	[no log message]

2005-10-30 16:12  heller

	* slime.el:

	(slime-eval): Ensure that the connection is open before waiting for
	input.

2005-10-30 16:07  heller

	* swank.lisp:

	(simple-serve-requests): Close the connection at the end.

2005-10-23 10:52  heller

	* slime.el, ChangeLog:

	* slime.el (slime-repl-history-size, slime-repl-history-file): Use
	defcustom to declare the variables.

2005-10-23 10:47  heller

	* ChangeLog, swank-backend.lisp, swank-sbcl.lisp, swank.lisp:

	* swank-backend.lisp (install-debugger-globally): new interface
	function

	* swank.lisp (install-debugger): call install-debugger-globally

	* swank-sbcl.lisp (install-debugger-globally): set
	sb-ext:*invoke-debugger-hook* too

2005-10-23 09:54  heller

	* ChangeLog:

	[no log message]

2005-10-23 09:49  heller

	* swank-sbcl.lisp:

	(make-stream-interactive, *auto-flush-streams*)[sb-thread]: Spawn a
	thread to flush interactive streams in reasonably short intervals.

2005-10-21 10:08  heller

	* ChangeLog:

	[no log message]

2005-10-21 10:05  heller

	* slime.el:

	(slime-start-swank-server): Avoid comint-send-input here as it seems
	to trigger a bug in ansi-color-for-commit-mode.

2005-10-18 01:29  dcrosher

	* ChangeLog:

	* Restore the printing of package names as STRINGs.

2005-10-18 01:26  dcrosher

	* swank.lisp:

	* (canonical-package-nickname): always return the package name as a symbol
	  if found.  This restores the printing of package names as strings.

2005-10-17 20:16  mbaringer

	* swank.lisp:

	(eval-in-emacs): Instead of taking a string and attempting to parse it
	emacs side the function now takes a form and converts it to a string
	internally. This should allow users of the function to not have to
	worry about quoting issues and emacs' different printed represenation
	for, among other things, characters.
	(process-form-for-emacs): New function. Converts a list into a string
	for passing to emacs.

2005-10-17 20:15  mbaringer

	* slime.el:

	(slime-eval-for-lisp): New API. This function now takes a single
	string, representing the form to evaluate, and uses emacs' read
	function to convert it into a form before eval'ing it.
	(slime-dispatch-event): The :eval event now passes a single string
	(instead of a string and something looking kind of like a form).

2005-10-17 20:14  mbaringer

	* ChangeLog:

	[no log message]

2005-10-14 20:51  dcrosher

	* ChangeLog:

	Scieneer Common Lisp support.

2005-10-14 20:28  dcrosher

	* doc/slime.texi:

	* Scieneer Common Lisp is now supported.

2005-10-14 20:14  dcrosher

	* swank-backend.lisp:

	o *gray-stream-symbols*: Scieneer Common Lisp implements stream-line-length.

2005-10-14 20:11  dcrosher

	* swank-loader.lisp:

	Support for Scieneer Common Lisp:
	 o *sysdep-pathnames*: swank-scl.
	 o *implementation-features*: add :scl.
	 o *os-features*: add :hpux.
	 o *architecture-features*: add :amd64, :i686, :i486, :sparc64, :sparc,
	   :hppa64, and :hppa.

2005-10-14 20:05  dcrosher

	* swank.lisp:

	o *canonical-package-nicknames*: use lowercase symbols to name the packages.
	  This supports CL implementations with lowercase default symbol names, such
	  as Scieneer Common Lisp, while still being compatible with ANSI-CL.

2005-10-14 20:02  dcrosher

	* swank-scl.lisp:

	Scieneer Common Lisp code for SLIME.

2005-10-11 23:11  heller

	* ChangeLog:

	[no log message]

2005-10-11 23:09  heller

	* slime.el:

	Persistent REPL history.  The history from REPL buffers is now saved
	to the file ~/.slime-history.eld.  The file is read on startup and
	saved when a REPL buffer gets killed or when Emacs exits.  There are
	also commands to save or read the history file.

	(slime-repl-save-merged-history, slime-repl-merge-histories)
	(slime-repl-read-history, slime-repl-save-history): New functions.
	(slime-repl-history-file, slime-repl-history-size): New vars.

	(slime-repl-mode): Add hooks to load and save the history.

	From Stefan Kamphausen.

2005-10-11 00:27  heller

	* ChangeLog:

	[no log message]

2005-10-11 00:25  heller

	* swank.lisp:

	(force-user-output): There seems to be a bug in Allegro's
	two-way-streams. As a workaround we use force-output for the user-io
	stream.  (finish-output *debug-io*) still triggers the bug.

2005-10-11 00:24  heller

	* swank-allegro.lisp:

	(find-external-format): Translate :utf-8-unix to :utf8, which Allegro
	7.0 understands.

2005-10-11 00:23  heller

	* slime.el:

	(slime-read-interactive-args): Split the string inferior-lisp-program
	to get the values for :program and :program-args.  Also let
	slime-lisp-implementations take precedence if non-nil.

	(slime-lisp-implementations): Renamed from
	slime-registered-lisp-implementations.

2005-10-09 21:17  heller

	* ChangeLog:

	[no log message]

2005-10-09 21:13  heller

	* swank-cmucl.lisp:

	(sis/in): Use finish-output instead of force-output.

2005-10-09 21:10  heller

	* slime.el:

	(slime, slime-start): Introduce a separate function for
	the non-interactive case.  `slime-start' takes lots of keyword
	arguments and `slime' is reserved for interactive use.
	(slime-read-interactive-args): New function.

	(slime-maybe-start-lisp, slime-inferior-lisp)
	(slime-start-swank-server): Pass all argumenets needed to start the
	subprocess as a property list.  Also store this list in a buffer-local
	var in the inferior-lisp buffer, so that we can cleanly restart the
	process.

	(slime-registered-lisp-implementations): Change the format and
	document it.  M-- M-x slime can now be used select a registered
	implemetantion.

	(slime-symbolic-lisp-name): Deleted. And updated all the functions
	which pass it along.

	(slime-set-connection-info): Use the new format.

	(slime-output-buffer): Don't re-initialize buffer-local variables if
	the buffer already exists.  This saves the history. From Juho
	Snellman.

2005-10-09 20:55  heller

	* swank.lisp:

	(connection-info): Include the initial package and a more
	self-descriptive format.

2005-10-01 14:00  jsnellman

	* ChangeLog, swank-backend.lisp:

	2005-10-01  Juho Snellman  <jsnell@iki.fi>
	        * swank-backend (*gray-stream-symbols*): Add :STREAM-LINE-LENGTH
	        to *GRAY-STREAM-SYMBOLS* on implementations that support this
	        extension to gray streams. Reported by Matthew D Swank.

2005-09-29 07:16  lgorrie

	* ChangeLog:

	[no log message]

2005-09-28 00:44  heller

	* swank.lisp:

	(start-server): Call initialize-multiprocessing before starting the
	server and startup-idle-and-top-level-loops afterwards.  Calling
	startup-idle-and-top-level-loops here shouldn't be a problem because
	start-server is only invoked at startup via stdin.

	(inspector-reinspect): New function.

2005-09-28 00:42  heller

	* slime.el:

	(slime-multiprocessing): Deleted. No longer needed.
	(slime-init-command): Updated accordingly.

	(slime-current-package): Add a special case for Scheme.
	(slime-simple-completions, slime-apropos): Quote the package, because
	in can be a plain symbol in Scheme.

	(slime-inspector-reinspect): Use a proper defslimefun.

2005-09-28 00:17  heller

	* ChangeLog:

	[no log message]

2005-09-27 23:50  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp:

	(startup-multiprocessing): Deleted.
	(initialize-multiprocessing, startup-idle-and-top-level-loops): The
	replacements for startup-multiprocessing. startup-idle-and-top-level-loops is
	only needed for CMUCL, but initialize-multiprocessing is useful for other too.

2005-09-22 22:27  heller

	* ChangeLog:

	[no log message]

2005-09-22 22:23  heller

	* swank.lisp:

	(accept-authenticated-connection): Minor fix. Ensure that the decoded
	message is a string before calling string= on it.  Patch from
	Aleksandar Bakic.

2005-09-22 22:20  heller

	* swank-allegro.lisp, swank-ecl.lisp, swank-lispworks.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp:

	Use *gray-stream-symbols* instead of enumerating them in each backend.

2005-09-22 22:17  heller

	* swank-backend.lisp:

	(*gray-stream-symbols*): Collect the needed symbols here, so that we
	don't need to mention them in every backend.
	(import-from). New function.

2005-09-22 22:15  heller

	* swank-gray.lisp:

	(stream-fresh-line): Define a method, so that Allegro passes our tests.

2005-09-21 22:55  heller

	* ChangeLog:

	[no log message]

2005-09-21 22:54  heller

	* swank-sbcl.lisp:

	Import `stream-finish-output'.

2005-09-21 22:50  heller

	* slime.el:

	(slime-setup-command-hooks): Make after-change-functions a
	buffer-local variable; it's by default global in XEmacs.

2005-09-21 22:43  heller

	* swank.lisp:

	(throw-to-toplevel): Invoke the `abort-restart' request instead of
	throwing to the `slime-toplevel' catch tag.
	(handle-request): Rename the restart from abort to abort-request.
	(call-with-connection): Remove the slime-toplevel catch tag because
	with-connection is used in far to many places which aren't at "toplevel".

2005-09-21 22:33  heller

	* present.lisp:

	(presentation-start, presentation-end): Use finish-output instead of
	force-output.

2005-09-21 13:53  heller

	* ChangeLog:

	[no log message]

2005-09-21 13:50  heller

	* slime.el:

	(slime-io-speed-test): New command.
	(slime-process-available-input): Oops, don't start a timer for every event.

	(slime-write-string): Renamed from slime-output-string.
	(slime-dispatch-event): Rename :read-output to :write-string.

	(slime-open-stream-to-lisp): Fix parens. The coding system should
	also be set if presentations are disabled.

2005-09-21 13:43  heller

	* swank-allegro.lisp, swank-ecl.lisp, swank-lispworks.lisp,
	  swank-openmcl.lisp:

	Import `stream-finish-output'.

2005-09-21 13:41  heller

	* swank.lisp:

	(make-output-function): Rename :read-output to :write-string.

	(eval-for-emacs, interactive-eval, eval-region): Use finish-output not
	force-output.

2005-09-21 13:40  heller

	* swank-cmucl.lisp:

	Improve stream efficiency by buffering more
	output. stream-force-output simply does nothing, if the output buffer
	was flushed less than 200 millisecons before.  stream-finish-output
	can still be used to really flush the buffer.

	(slime-output-stream): New slot last-flush-time.
	(stream-finish-output): New function. Did was stream-force-output did
	previously.
	(stream-force-output): Buffer more output.

2005-09-21 13:39  heller

	* swank-gray.lisp:

	Improve stream efficiency by buffering more
	output. stream-force-output simply does nothing, if the output buffer
	was flushed less than 200 millisecons before.  stream-finish-output
	can still be used to really flush the buffer.

	(slime-output-stream): New slot last-flush-time.
	(stream-finish-output): New function. Did was stream-force-output
	did previously.
	(stream-force-output): Buffer more output.

2005-09-19 10:20  lgorrie

	* ChangeLog, nregex.lisp:

	Released into the public domain by Lawrence E. Freil.

2005-09-18 23:16  heller

	* ChangeLog:

	[no log message]

2005-09-18 23:13  heller

	* slime.el:

	(slime48): New Command.

2005-09-18 18:25  wjenkner

	* ChangeLog:

	[no log message]

2005-09-18 18:23  wjenkner

	* bridge.el:

	cl is required at macro expansion time (because of `block').  Reported
	by Matthew D Swank.

2005-09-18 16:36  mkoeppe

	* ChangeLog:

	[no log message]

2005-09-18 16:35  mkoeppe

	* present.lisp:

	Move presentation menu protocol to swank.lisp.

2005-09-18 16:34  mkoeppe

	* swank.lisp:

	Move presentation menu protocol here from present.lisp.

2005-09-16 05:43  aruttenberg

	* ChangeLog, slime.el:

	(slime-repl-return) don't copy presentation to input if	already in input area.

2005-09-15 10:31  heller

	* ChangeLog:

	[no log message]

2005-09-15 10:28  heller

	* swank.lisp:

	(eval-in-emacs): Fix a race condition which occurred with sigio.
	(*echo-area-prefix*): New variable.

2005-09-15 10:25  heller

	* slime.el:

	(slime-process-available-input): Simplify it a bit and make it easier
	to debug read errors.
	(slime-net-close): Don't kill the buffer if the new optional arg
	`debug' is true.
	(slime-run-when-idle): Accept arguments for the function.

	(slime-init-connection-state): Close over the proc variable. It was
	lost when the async evaluation returned.

	(slime-output-buffer, slime-connection-output-buffer): Make
	slime-output-buffer faster by keeping the buffer in a connection
	variable.

	(slime-restart-inferior-lisp-aux, slime-quit-lisp): Disable the
	process filter to avoid errors in XEmacs.

2005-09-15 10:17  heller

	* swank-clisp.lisp:

	(compute-backtrace): Include only "function
	frames" in the backtrace.  I hope that makes some sense.
	(sldb-backtrace, function-frame-p): New functions.
	(*sldb-backtrace*, call-with-debugging-environment, nth-frame):
	Compute and remember the backtrace when entering the debugger.

	(arglist): If the function has a function-lambda-expression, fetch the
	arglist from there.

	(find-encoding): Use strings instead of 'charset:foo symbols to avoid
	compile time problems if the charset is not available.  Suggested by
	Vaucher Laurent.

2005-09-15 06:42  aruttenberg

	* swank.lisp:

	[no log message]

2005-09-15 05:37  aruttenberg

	* ChangeLog, slime.el, swank.lisp:


	* slime.el (slime-menu-choices-for-presentation), (slime-presentation-menu)
	Fix loss after refactoring. xemacs can't handle lambda forms in
	the menu spec given to x-popup-menu, only symbols, so save the
	actions in a hash table keyed by a gensym, give x-popup-menu the
	gensym and then call the gensym. Haven't checked that it actually
	works in xemacs because my xemacs is hosed in os x Tiger. Could
	someone let me know...

	* swank.lisp (inspect-factor-more-action)
	rename (inspect-show-more-action) Prompt before reading how many
	more. Would be nicer to prompt in the minibuffer...

2005-09-14 22:18  mkoeppe

	* ChangeLog:

	[no log message]

2005-09-14 22:17  mkoeppe

	* slime.el:

	(slime-presentation-expression): Remove handling of cons
	presentation-ids.

2005-09-13 07:37  aruttenberg

	* ChangeLog, slime.el, swank-openmcl.lisp, swank.lisp:

	[no log message]

2005-09-13 06:14  aruttenberg

	* ChangeLog, slime.el, swank.lisp:

	[no log message]

2005-09-13 02:11  heller

	* slime.el:

	(slime-repl-insert-result): Add slime-repl-result-face face.
	(slime-repl-update-banner): Avoid insert extra newlines.

2005-09-13 01:29  heller

	* swank.lisp:

	Fix parens.

2005-09-13 01:07  heller

	* present.lisp:

	(menu-choices-for-presentation-id): Use lookup-presented-object
	secondary return value instead of *not-present*.

	(execute-menu-choice-for-presentation-id, presenting-object-1): Remove
	references to *can-print-presentation*.

2005-09-13 01:06  heller

	* ChangeLog:

	[no log message]

2005-09-13 00:59  heller

	* swank-loader.lisp:

	(lisp-version-string)[cmu]: Replace spaces with underscores.

2005-09-13 00:58  heller

	* swank-clisp.lisp, swank-sbcl.lisp:

	Add EUC-JP as coding system.  This patch eliminates the requirement of
	Mule-UCS to use Japanese characters.  (Nice for pre-22 Emacs
	users.)  Patch from NIIMI Satoshi.

2005-09-13 00:57  heller

	* slime.el:

	(slime-current-output-id): Remove this ugly kludge.

	(slime-repl-insert-result): New function. Handle the presentations
	and other special cases cleaner.
	(slime-repl-insert-prompt): Use it. The `result' arg is now a
	structured list; update callers accordingly.

	(slime-repl-return): Make the prefix arg work again.

	(package-updating): The result of swank::listener-eval changed a
	bit. Update the test.

	Remove some unnecessary uses of `defun*' and reindent it to 80
	columns.

2005-09-13 00:42  heller

	* swank.lisp:

	Simplify the object <-> presentation-id mapping.
	(save-presented-object): Remove the optional `id' arg.
	(lookup-presented-object): Id's should be fixnums not some cons
	with fuzzy/non-documented meaning.  Use the secondary return value
	to test for absence of the id.  Update callers accordingly.
	(*not-present*): Deleted.

	Remove the repl result special cases, let the general presentation
	machinery handle it.
	(*last-repl-result-id*, add-repl-result, *current-id*)
	(clear-last-repl-result): Deleted.
	(listener-eval): Don't *current-id* to tag result values.

	(*can-print-presentation*): Deleted. Nobody quite knows whether
	it's still needed so let just try without it.  Updated referrers
	accordingly.

	(eval-region, run-repl-eval-hooks): Move the eval hook stuff to
	a separate function.

2005-09-10 20:28  mkoeppe

	* ChangeLog:

	[no log message]

2005-09-10 20:27  mkoeppe

	* slime.el:

	(slime-enable-evaluate-in-emacs): Resurrected.
	(slime-dispatch-event): Respect slime-enable-evaluate-in-emacs for
	messages :eval-no-wait and :eval.

2005-09-09 19:10  aruttenberg

	* ChangeLog, slime.el:

	[no log message]

2005-09-09 04:01  aruttenberg

	* swank-openmcl.lisp, ChangeLog:

	[no log message]

2005-09-09 03:43  aruttenberg

	* bridge.el:

	[no log message]

2005-09-09 02:10  aruttenberg

	* ChangeLog:

	[no log message]

2005-09-09 01:58  aruttenberg

	* ChangeLog, bridge.el:

	[no log message]

2005-09-07 20:44  mkoeppe

	* ChangeLog:

	[no log message]

2005-09-07 20:43  mkoeppe

	* present.lisp:

	(menu-choices-for-presentation): The Inspect/Describe/Copy items are
	now provided from the Emacs side.  Implement all pathname menu items
	without having Emacs evaluate a form.  Fix for Lisps where ".lisp" is
	parsed as :name ".lisp".

2005-09-07 20:41  mkoeppe

	* slime.el:

	(slime-menu-choices-for-presentation): New function,
	return a menu with Inspect/Describe/Copy plus the items that come
	from the menu protocol.
	(slime-presentation-menu): Security improvement for the
	presentation menu protocol: Don't eval arbitrary forms coming from
	the Lisp.  Minor cleanup: Use x-popup-menu in the normal Emacs way,
	associating a command with each menu item.

2005-09-05 16:00  heller

	* ChangeLog:

	[no log message]

2005-09-05 15:56  heller

	* swank-cmucl.lisp:

	(background-message): New function. Forward the call to the front end.
	(pre-gc-hook, post-gc-hook): Use it.

	(swank-sym,  sending-safe-p): Deleted.

2005-09-05 15:54  heller

	* swank.lisp:

	(y-or-n-p-in-emacs): Simplify arglist.

	(evaluate-in-emacs, dispatch-event, send-to-socket-io): Remove
	evaluate-in-emacs stuff.

	(to-string): Undo last change. to-string is not to supposed to ignore
	errors.  Bind *print-readably* instead.

	(background-message): New function.

	(symbol-external-p): Simplify it a little.

2005-09-05 15:47  heller

	* slime.el:

	(slime-setup-command-hooks): Add after-change-functions only if
	presentations are enabled.

	(slime-dispatch-event, slime-enable-evaluate-in-emacs)
	evaluate-in-emacs): Remove evaluate-in-emacs stuff.  It was not used
	and redundant.

	(slime-save-some-lisp-buffers): Renamed from save-some-lisp-buffers.

	(slime-choose-overlay-region): Ignore :source-form locations.
	(slime-choose-overlay-for-sexp): Ignore errors when stepping over
	forms.

	(slime-search-method-location, slime-goto-location-position): Move all
	this regexpery to it's own function.

	(slime-recenter-if-needed, slime-repl-return): Factor some duplicated
	code into its own function.

	(slime-presentation-bounds, slime-presentation-around-point)
	(slime-presentation-around-or-before-point): Minor cleanups.

2005-09-04 20:33  mkoeppe

	* ChangeLog:

	[no log message]

2005-09-04 20:28  mkoeppe

	* slime.el:

	(slime-ensure-presentation-overlay): New.
	(slime-add-presentation-properties): Don't add face, mouse-face,
	keymap text properties.  Call slime-ensure-presentation-overlay to
	implement them via overlays.
	(slime-remove-presentation-properties): Don't remove these text
	properties.  Delete the right overlay.
	(slime-after-change-function): Add overlays for presentations if
	necessary.
	(slime-copy-presentation-at-point): Don't add face text property.
	(slime-repl-grab-old-output): Likewise.

2005-08-31 13:28  mbaringer

	* ChangeLog:

	[no log message]

2005-08-31 13:27  mbaringer

	* swank.lisp:

	(to-string): Handle errors during printing of objects.

2005-08-31 01:57  aruttenberg

	* ChangeLog, slime.el, swank.lisp:

	[no log message]

2005-08-30 15:03  lgorrie

	* ChangeLog:

	[no log message]

2005-08-30 15:03  lgorrie

	* present.lisp:

	Added public domain dedication (OK'd by Alanr and Matthias on the
	list).

2005-08-29 23:29  mkoeppe

	* swank-lispworks.lisp:

	(env-internals:confirm-p): Fix last change (hopefully).

2005-08-29 22:02  lgorrie

	* doc/texinfo-tabulate.awk, mkdist.sh,
	  swank-source-file-cache.lisp, swank-source-path-parser.lisp,
	  swank.asd, test-all.sh, test.sh:

	Added public domain dedication.

2005-08-29 21:36  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-29 21:34  mkoeppe

	* swank-lispworks.lisp:

	(env-internals:confirm-p): Use new function
	y-or-n-p-in-emacs rather than eval-in-emacs.

2005-08-29 21:33  mkoeppe

	* swank-cmucl.lisp:

	(eval-in-emacs): Removed.
	(send-to-emacs): New.
	(pre-gc-hook, post-gc-hook): Use new protocol message
	:background-message rather than eval-in-emacs.

2005-08-29 21:31  mkoeppe

	* swank.lisp:

	(dispatch-event, send-to-socket-io): Handle new
	messages :y-or-n-p, :background-message.
	(y-or-n-p-in-emacs): New function.

2005-08-29 21:27  mkoeppe

	* slime.el:

	(slime-dispatch-event): Handle new messages :y-or-n-p,
	:background-message.
	(slime-y-or-n-p): New.

2005-08-29 21:23  aruttenberg

	* ChangeLog, slime.el:

	[no log message]

2005-08-29 20:33  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-29 13:23  jsnellman

	* ChangeLog, swank-sbcl.lisp:

	swank-sbcl.lisp (make-weak-key-hash-table): Remove the implementation;
	SBCL doesn't actually support weak hash-tables.

2005-08-28 17:37  mkoeppe

	* slime.el:

	(slime-repl-mode-hook): Show the SLIME menu in the REPL too.

2005-08-28 17:09  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-28 17:09  mkoeppe

	* slime.el:

	(slime-repl-kill-input): New command.
	(slime-repl-mode-map): Bind it to C-c C-u, like in comint.
	(slime-repl-easy-menu): Include it in the REPL menu.

2005-08-28 16:52  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-28 16:50  mkoeppe

	* swank.lisp:

	(*object-to-presentation-id*, *presentation-id-to-object*): Use new
	functions make-weak-key-hash-table, make-weak-value-hash-table.

2005-08-28 16:48  mkoeppe

	* swank-openmcl.lisp:

	(make-weak-key-hash-table)
	(make-weak-value-hash-table): Implement it.

2005-08-28 16:47  mkoeppe

	* swank-cmucl.lisp, swank-sbcl.lisp:

	(make-weak-key-hash-table): Implement it.

2005-08-28 16:47  mkoeppe

	* swank-backend.lisp:

	(make-weak-key-hash-table)
	(make-weak-value-hash-table): New interfaces.

2005-08-28 14:26  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-28 14:25  mkoeppe

	* swank.lisp:

	(send-to-socket-io): Handle :evaluate-in-emacs.

2005-08-28 14:23  mkoeppe

	* slime.el:

	(slime-enable-evaluate-in-emacs): New variable.
	(evaluate-in-emacs): Security improvement: If
	slime-enable-evaluate-in-emacs is nil (the default), don't
	evaluate forms sent by the Lisp.

2005-08-27 18:37  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-27 18:37  mkoeppe

	* slime.el:

	(slime-presentation-menu): When an object is no longer
	recorded, remove text properties from the presentation.

2005-08-26 19:59  aruttenberg

	* ChangeLog, swank-openmcl.lisp:

	[no log message]

2005-08-24 19:40  mbaringer

	* swank.lisp:

	(fuzzy-find-matching-symbols): When completing the string "package:"
	present a list of all the external symbols in package (completing
	"package::" lists internal symbols as well).

	(inspect-for-emacs standard-class): List all the slots in the class
	(as per standard-object). The previous method of hard coding the slots
	in the inspector's code made inspecting custom meta-classes useless.

2005-08-24 19:38  mbaringer

	* ChangeLog:

	[no log message]

2005-08-24 17:09  crhodes

	* ChangeLog, swank-sbcl.lisp:

	Present qualifiers in method definitions for sbcl

2005-08-23 08:39  mbaringer

	* slime.el:

	(slime-goto-location-position): Added a second regexp for the
	:function-name case which matches "(def... ((function-name ..." (with
	N opening parens preceding the function name). This is to allow
	scheme48 style function names and definitions.

2005-08-23 08:39  mbaringer

	* ChangeLog:

	[no log message]

2005-08-22 06:32  wjenkner

	* ChangeLog:

	[no log message]

2005-08-22 06:30  wjenkner

	* swank-clisp.lisp:

	(fspec-pathname): Cope with CVS CLISP's
	(documentation symbol 'sys::file) returning a list.  Return either
	a list of start and end line positions or nil as second value.
	(fspec-location): Use it.  Also, if we have to guess the name of a
	source file make sure that it actually exists.

	(with-blocked-signals, call-without-interrupts): Don't add
	:linux to *features* since this changes the return value of
	unique-directory-name in swank-loader.lisp.
	Comment out with-blocked-signals.

	Update some comments at the top of the file.
	State the licence in the same terms as slime.el does.

2005-08-21 18:29  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-21 18:28  mkoeppe

	* present.lisp:

	(menu-choices-for-presentation-id): Check against
	the gensym in *not-present* instead of :non-present.

2005-08-20 21:36  crhodes

	* ChangeLog, swank-sbcl.lisp:

	(noted by Brian Mastenbrook) non-Linux non-linkage-table sbcls try to
	get the address of linux_no_threads_p at fasl-load time, and complain
	vigorously if it's not available.  Guard with #+linux.

2005-08-20 17:44  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-20 17:43  mkoeppe

	* slime.el:

	* slime.el (slime-presentation): Remove slots start-p, stop-p.
	(slime-add-presentation-properties): Use a new text property
	layout.  Also add an overlay to enable nested highlighting.
	(slime-remove-presentation-properties): New.
	(slime-presentation-whole-p): Changed interface.
	(slime-presentations-around-point): New.
	(slime-same-presentation-p): Removed.
	(slime-presentation-start-p, slime-presentation-stop-p): New.
	(slime-presentation-start, slime-presentation-end): Changed to use
	new text property layout.
	(slime-presentation-bounds): New.
	(slime-presentation-around-point): Reimplemented to handle nested
	presentations.
	(slime-for-each-presentation-in-region): New.
	(slime-after-change-function): Use
	slime-remove-presentation-properties and
	slime-for-each-presentation-in-region.
	(slime-copy-presentation-at-point): Complain if no presentation.
	(slime-repl-insert-prompt): Don't put rear-nonsticky text property.
	(slime-reify-old-output): Handle nested presentations.
	(slime-repl-return): Use slime-presentation-around-or-before-point.

	* slime.el (slime-buffer-substring-with-reified-output): New,
	factored out from slime-repl-current-input.
	(slime-repl-current-input): Use it here.
	(slime-last-expression): Use it here.

2005-08-15 22:13  aruttenberg

	* swank-openmcl.lisp, ChangeLog:

	[no log message]

2005-08-15 20:15  aruttenberg

	* ChangeLog, slime.el:

	[no log message]

2005-08-15 10:57  mbaringer

	* swank-clisp.lisp:

	[no log message]

2005-08-14 19:37  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-14 19:36  mkoeppe

	* slime.el:

	(slime-mark-presentation-end): Really remove the presentation-start
	entry from the hash table.

2005-08-14 17:43  mkoeppe

	* present.lisp:

	Move code to swank.lisp

2005-08-14 17:42  mkoeppe

	* slime.el:

	(slime-repl-insert-prompt): Don't take the negative of
	the id.
	(slime-presentation-expression): New, take care to handle
	arbitrary *read-base* settings.
	(reify-old-output): Use it here.
	(slime-read-object): Use it here.

2005-08-14 17:41  mkoeppe

	* swank.lisp:

	* swank.lisp (*object-to-presentation-id*)
	(*presentation-id-to-object*, clear-presentation-tables)
	(*presentation-counter*, lookup-presented-object): Move here from
	present.lisp.
	(save-presented-object): Likewise.  Assign negative numbers only,
	so as not to clash with continuation ids.

	* swank.lisp (*repl-results*): Removed.

	* swank.lisp (get-repl-result, clear-repl-results): Use new
	implementations from present.lisp.
	(add-repl-result): Likewise, don't take the negative of the id.
	(*last-repl-result-id*): New variable.
	(clear-last-repl-result): Use it here.

2005-08-12 22:52  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-12 22:51  mkoeppe

	* slime.el:

	* slime.el (substring-no-properties): Fix to handle non-zero start
	argument correctly.

	* slime.el (slime-presentation-whole-p): Generalize to work with
	strings too.
	(slime-presentation-start, slime-presentation-end): Likewise.
	(slime-presentation-around-point): Likewise.
	(slime-presentation-around-or-before-point): New.

	* slime.el (reify-old-output): Use slime-repl-presentation
	property and slime-presentation-around-point function rather than
	slime-repl-old-output property.
	(slime-repl-return): Use slime-repl-presentation rather than
	slime-repl-old-output.
	(slime-repl-grab-old-output): Use
	slime-presentation-around-or-before-point.
	(slime-read-object): Use slime-presentation-around-point.

	* slime.el (toplevel): Don't handle slime-repl-old-output text
	property.
	(slime-add-presentation-properties): Likewise.
	(slime-after-change-function): Likewise.

2005-08-12 13:14  mbaringer

	* ChangeLog:

	[no log message]

2005-08-12 13:14  mbaringer

	* swank-clisp.lisp:

	(fspec-pathname): Use the documentation function instead of accessing
	clisp internals.

2005-08-11 10:41  eweitz

	* ChangeLog, swank.lisp:

	TRANSPOSE-LISTS again...

2005-08-11 05:06  aruttenberg

	* ChangeLog, slime.el:

	[no log message]

2005-08-10 21:59  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-10 21:57  mkoeppe

	* slime.el:

	(slime-presentation-around-point): Change interface,
	return presentation as primary return value.
	(slime-copy-presentation-at-point): Use
	slime-presentation-around-point.  Copying now also works when the
	first character is clicked and when the REPL buffer is not current.
	(slime-presentation-menu): Use slime-presentation-around-point.

2005-08-10 17:52  msimmons

	* ChangeLog:

	[no log message]

2005-08-10 17:46  msimmons

	* swank-lispworks.lisp:

	(defadvice compile-file): Return all values from the real compile-file.

2005-08-10 02:21  eweitz

	* ChangeLog, swank.lisp:

	Helmut's version is much nicer...

2005-08-09 21:35  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-09 21:34  mkoeppe

	* slime.el:

	(slime-read-object): Handle ids that are conses.
	Patch by "Thas" on #lisp.

2005-08-09 15:56  eweitz

	* ChangeLog, swank.lisp:

	New version of SWANK::TRANSPOSE-LISTS

2005-08-08 18:32  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-08 18:31  mkoeppe

	* slime.el:

	(undo-in-progress): Define for XEmacs compatibility.
	Reported by Friedrich Dominicus.

2005-08-07 19:06  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-07 19:03  mkoeppe

	* present.lisp:

	(lookup-presented-object): Handle ids that are
	conses.
	(execute-menu-choice-for-presentation-id): Use equal for comparing
	ids, to handle the cons case.
	(menu-choices-for-presentation): Quote the presentation id, as it
	can be a cons.

2005-08-07 18:53  mkoeppe

	* slime.el:

	(slime-presentation-menu, slime-presentation-menu)
	(slime-inspect-presented-object): Quote the presentation id, as it
	can be a cons.

2005-08-06 16:51  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-06 16:50  mkoeppe

	* swank.lisp:

	(form-completion): New generic function, factored out
	from complete-form.
	(complete-form): Factor out form-completion.
	(form-completion): Specialize on defmethod forms to insert arglist
	of generic function.

2005-08-06 16:45  mkoeppe

	* doc/slime.texi:

	(Programming Helpers): Document C-c C-s, slime-complete-form.

2005-08-04 22:27  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-04 22:16  mkoeppe

	* swank.lisp:

	Undo changes I checked in by mistake.

2005-08-04 22:14  mkoeppe

	* swank.lisp:

	(*can-print-presentation*): Move up.

2005-08-04 22:13  mkoeppe

	* present.lisp:

	(slime-stream-p)
	[cmu]: Allow printing presentations through pretty printing
	streams, if CMUCL has annotations support and we are using the
	bridge-less protocol.
	[sbcl]: Allow printing presentations through indenting streams.

2005-08-04 21:54  mkoeppe

	* present.lisp:

	(slime-stream-p) [allegro]: Allow printing presentations through
	pretty printing streams.

2005-08-04 21:49  mkoeppe

	* present.lisp:

	(write-annotation): New function.
	(presentation-record): New structure.
	(presentation-start, presentation-end): New functions.
	(presenting-object-1): Use them here.

2005-08-04 21:39  mkoeppe

	* present.lisp:

	[sbcl, allegro]: Add printer hooks for unreadable objects and
	pathnames.

2005-08-04 21:36  mkoeppe

	* present.lisp:

	(interactive-eval, listener-eval, backtrace)
	(swank-compiler, compile-file-for-emacs, load-file)
	(init-inspector): Remove code duplication with swank.lisp.

2005-08-04 21:34  mkoeppe

	* swank.lisp:

	(*can-print-presentation*): New variable, moved here from
	present.lisp.

	(interactive-eval, listener-eval, backtrace)
	(swank-compiler, compile-file-for-emacs, load-file)
	(init-inspector): Bind *can-print-presentation* to an appropriate
	value.

2005-08-04 21:27  mkoeppe

	* ChangeLog:

	[no log message]

2005-08-04 21:23  mkoeppe

	* swank.lisp:

	(encode-message): Don't use the pretty printer for printing the
	message length.

	(listener-eval): Store the whole values-list with add-repl-result.

2005-08-04 21:19  mkoeppe

	* slime.el:

	(slime-repl-insert-prompt): Accept a list of strings,
	representing individual values of a multiple-value result.  Mark
	them up as separate presentations.
	(reify-old-output): Support reifying individual values of a
	multiple-value result.

	(slime-pre-command-hook): Don't call
	slime-presentation-command-hook.
	(slime-post-command-hook): Don't call
	slime-presentation-post-command-hook.
	(slime-presentation-command-hook): Removed.
	(slime-presentation-post-command-hook): Removed.

	(slime-presentation-whole-p): New.
	(slime-same-presentation-p): New.
	(slime-presentation-start, slime-presentation-end): New.
	(slime-presentation-around-point): New.
	(slime-after-change-function): New.
	(slime-setup-command-hooks): Install slime-after-change-function
	as an after-change-function.

	(slime-repl-enable-presentations): Make
	slime-repl-presentation nonsticky.
	(slime-mark-presentation-start, slime-mark-presentation-end): New
	functions.
	(slime-mark-presentation-start-handler): Renamed from
	slime-mark-presentation-start.
	(slime-mark-presentation-end-handler): Renamed from
	slime-mark-presentation-end.
	(slime-presentation): New structure.
	(slime-add-presentation-properties): New function.
	(slime-insert-presentation): New function.

2005-08-04 21:16  mkoeppe

	* swank.lisp:

	(dispatch-event, send-to-socket-io): New events :presentation-start,
	:presentation-end for bridge-less presentation markup.

2005-08-04 21:14  mkoeppe

	* slime.el:

	* slime.el (slime-dispatch-event): New events :presentation-start,
	:presentation-end for bridge-less presentation markup.

2005-08-04 02:04  heller

	* ChangeLog:

	[no log message]

2005-08-04 02:03  heller

	* swank-sbcl.lisp:

	Remove SBCL 0.9.1 support.
	(swank-compile-string): Funcall the compiled function outside
	with-compilation-hooks to prevent runtime warnings from popping up a
	*compiler-notes* buffer.  From Juho Snellman.

	(swank-compile-string): Restore honoring of *trap-load-time-warnings*.
	From Zach Beane.

2005-08-03 11:40  jgarcia

	* swank-ecl.lisp, swank-loader.lisp:

	Initial port to ECL

2005-07-29 14:40  mbaringer

	* doc/slime.texi:

	(Other configurables): Document *dedicated-output-stream-port*.

2005-07-29 14:38  mbaringer

	* swank.lisp:

	(*dedicated-output-stream-port*): New variable.
	(open-dedicated-output-stream): Open the stream on the port *dedicated-output-stream-port*.

2005-07-29 14:37  mbaringer

	* slime.el:

	(slime-set-default-directory): Fix typo in doc string.

2005-07-29 14:34  mbaringer

	* ChangeLog:

	[no log message]

2005-07-26 23:40  heller

	* ChangeLog:

	[no log message]

2005-07-26 23:37  heller

	* swank.lisp:

	(inspect-for-emacs): Don't make whitespace surrounding :action buttons
	part of the highlighted region.

2005-07-26 23:36  heller

	* slime.el:

	(slime-goto-location-buffer): Put "SLIME Source Form" buffer into Lisp mode.

	(slime-input-complete-p): Skip over strings too.

2005-07-26 22:56  heller

	* ChangeLog:

	[no log message]

2005-07-26 22:51  heller

	* swank.lisp:

	(compile-file-for-emacs): Accept optional external-format argument.

2005-07-26 16:59  mbaringer

	* ChangeLog, swank-sbcl.lisp:

	[no log message]

2005-07-24 17:30  mbaringer

	* ChangeLog, swank.lisp:

	[no log message]

2005-07-22 12:53  mbaringer

	* ChangeLog:

	[no log message]

2005-07-22 12:52  mbaringer

	* swank-openmcl.lisp:

	(frame-catch-tags): Remove some debugging forms which was "polluting"
	the repl buffer when viewing an sldb buffer.
	(function-source-location): Make :error messages have the proper form
	(exactly one string argument). This fix also removes the issues with
	sending unreadble lists (containing #<...> to emacs).

2005-07-14 11:15  heller

	* ChangeLog:

	[no log message]

2005-07-14 11:12  heller

	* swank-allegro.lisp:

	(find-external-format): Fix typo.

2005-07-06 18:31  heller

	* ChangeLog:

	[no log message]

2005-07-06 18:27  heller

	* slime.el:

	(slime-send-sigint): Use the symbol SIGINT stead of the signal number.
	Suggested by Joerg Hoehle.

	(slime-compile-file): XEmacs needs the buffer as argument to
	local-variable-p.  Reported by Andy Sloane.

2005-07-05 22:34  heller

	* ChangeLog:

	[no log message]

2005-07-05 22:32  heller

	* slime.el:

	(slime-compile-file): Send the coding system if the buffer local
	variable `slime-coding' is bound.

2005-07-05 22:30  heller

	* swank-cmucl.lisp, swank-abcl.lisp, swank-allegro.lisp,
	  swank-backend.lisp, swank-clisp.lisp, swank-corman.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	(swank-compile-file): New optional argument `external-format'.

2005-07-03 17:55  heller

	* ChangeLog:

	[no log message]

2005-07-03 17:53  heller

	* swank-clisp.lisp:

	(describe-symbol-for-emacs): Report :setf and :type where appropriate.

	(getpid): Explicitly define it as foreign function on WIN32.

2005-07-03 17:51  heller

	* README:

	Show examples for the filenames instead of the general
	"/the/path/to/this/directory".  Suggested by Brandon J. Van Every.

2005-07-03 17:51  heller

	* swank-corman.lisp:

	(default-directory): Return a namestring instead of the pathname.

	(inspect-for-emacs, inspect-structure): Teach the inspector how to deal with structures.

	(spawn, send, receive): Implement rudimentary threading support. It's
	now possible to connect with the :spawn communication style and to
	bring up a listener.  Unfortunately, debugging the non-primary threads
	doesn't work at all.  Still no support for interrupt-thread.

2005-07-03 17:49  heller

	* slime.el:

	(next-single-char-property-change)
	(previous-single-char-property-change) [xemacs]: Only define them if
	not present.
	(next-char-property-change, previous-char-property-change): Define if
	needed.

	(slime-start-swank-server): Send an extra newline before the
	"(swank:start-server ...".  I don't know why, but this seems to fix
	the problem when starting CLISP/Win32.  Interrupting CLISP/W32 is
	still horribly broken.

2005-07-03 17:40  heller

	* swank-loader.lisp:

	(compile-files-if-needed-serially) [corman]: force-output after each file.

2005-07-02 19:49  mbaringer

	* ChangeLog, slime.el:

	[no log message]

2005-07-01 15:52  crhodes

	* ChangeLog, swank-sbcl.lisp:

	Patch from Gabor for new thread api support (older SBCLs may or may
	not work at all, but definitely don't work with threads)

2005-06-28 10:40  crhodes

	* ChangeLog, PROBLEMS, swank-sbcl.lisp:

	Support sbcl 0.9.2

2005-06-21 20:28  eweitz

	* ChangeLog, swank.lisp:

	Add package nicknames to completion results

2005-06-13 11:34  eweitz

	* ChangeLog, swank.lisp:

	remove duplicate asdf systems

2005-06-13 11:17  eweitz

	* ChangeLog, swank-lispworks.lisp:

	Fix LW port (broken due to nregex renaming)

2005-06-12 23:05  crhodes

	* ChangeLog, slime.el:

	From Alexey Dejneka: fix "pgk" typo.

2005-06-12 18:33  crhodes

	* ChangeLog, slime.el, swank.lisp:

	Minor changes to ED-IN-EMACS / slime-ed.  Now
	  (push 'swank:ed-in-emacs sb-ext:*ed-functions*)
	works more-or-less as required.  (We don't obey the constraint that
	file-error conditions be signalled on file system errors, but...)

2005-06-11 18:22  nsiivola

	* ChangeLog, swank-sbcl.lisp, doc/slime.texi:

	Changes for supporting recent SBCLs.

2005-06-10 19:55  heller

	* ChangeLog:

	[no log message]

2005-06-10 19:54  heller

	* swank.lisp:

	(compiled-regex): Use the new package name.

2005-06-10 19:54  heller

	* nregex.lisp:

	Rename package to avoid name clashes with other version of this file.

2005-06-10 19:51  heller

	* slime.el:

	(slime-with-xref-buffer): Gensym package too, to avoid problems when
	switching to buffers with -*- package: ... -*- file variables.  From
	Antonio Menezes Leitao.

	(slime-property-bounds): Use the prop argument instead of the
	hardcoded 'slime-repl-old-output.  From Andras Simon.

2005-06-07 12:08  ewiborg

	* swank-corman.lisp, ChangeLog:

	Convert to Unix line-endings.
	(create-socket): Pass through the port argument unmodified,
	gettting a random port if 0.  Requires supporting change in
	<ccl>/modules/sockets.lisp.
	(inspect-for-emacs): defimplementation instead of defmethod.

2005-06-07 12:06  ewiborg

	* doc/slime.texi, PROBLEMS:

	Added notes about CCL.

2005-06-03 22:00  heller

	* ChangeLog:

	[no log message]

2005-06-03 22:00  heller

	* slime.el:

	(slime-background-activities-enabled-p): Allow background stuff in
	repl-mode buffers too.

2005-06-03 13:16  heller

	* swank-cmucl.lisp, ChangeLog:

	[no log message]

2005-06-01 18:59  heller

	* slime.el, ChangeLog:

	[no log message]

2005-06-01 17:03  heller

	* ChangeLog:

	[no log message]

2005-06-01 17:02  heller

	* swank-clisp.lisp:

	(getpid): Use defimplementation. Define always (slime needs it).

2005-06-01 16:40  heller

	* ChangeLog:

	[no log message]

2005-06-01 16:38  heller

	* slime.el:

	(slime-first-change-hook): Use slime-background-activities-enabled-p.

2005-06-01 16:28  heller

	* slime.el:

	(slime-background-activities-enabled-p): Return nil instead of
	signalling an error if there is a open but no default connection.
	(slime-current-connection): New helper function.
	(slime-connection): Use it.

2005-06-01 15:49  heller

	* ChangeLog:

	[no log message]

2005-06-01 15:48  heller

	* slime.el:

	(slime-first-change-hook): Don't do anything if slime-mode is disabled.

2005-06-01 14:53  heller

	* ChangeLog:

	[no log message]

2005-06-01 14:50  heller

	* swank-clisp.lisp:

	(describe-symbol-for-emacs): Report :alien-type when the name is known
	as foreign type.

2005-06-01 14:41  heller

	* swank.lisp:

	(present-symbol-before-p): Fix docstring; remove optimization; compare
	package names correctly.

2005-06-01 14:27  heller

	* swank.lisp:

	(present-symbol-before-p): make it conform to its specification --
	sort first by package and then by symbol name.

2005-06-01 14:22  heller

	* slime.el, swank-clisp.lisp, swank-cmucl.lisp, swank-sbcl.lisp:

	Distinguish macro and special operators from functions.

2005-06-01 12:31  ewiborg

	* swank-loader.lisp, ChangeLog:

	Redefine compile-files-if-needed-serially for
	Corman Lisp to load everything from source.

2005-05-31 20:38  heller

	* ChangeLog:

	[no log message]

2005-05-31 20:38  heller

	* swank-loader.lisp:

	Add Corman Lisp support.

2005-05-31 20:37  heller

	* swank.lisp:

	(simple-announce-function): force-output after announcing.

	(symbol-external-p): Be extra paranoid about the symbol's package;
	find-symbol barfs on a nil package in Corman Lisp.

2005-05-31 20:36  heller

	* swank-corman.lisp:

	New file from Espen Wiborg.  (Currently with DOS eol convention.)

2005-05-24 21:08  aruttenberg

	* slime.el, ChangeLog:

	[no log message]

2005-05-24 09:06  aruttenberg

	* ChangeLog, slime.el:

	[no log message]

2005-05-24 04:40  aruttenberg

	* ChangeLog, slime.el, present.lisp:

	[no log message]

2005-05-23 04:31  aruttenberg

	* ChangeLog, present.lisp:

	[no log message]

2005-05-22 08:55  aruttenberg

	* present.lisp:

	[no log message]

2005-05-22 08:52  aruttenberg

	* ChangeLog, slime.el:

	[no log message]

2005-05-21 07:04  aruttenberg

	* swank.lisp, ChangeLog:

	[no log message]

2005-05-20 21:21  lgorrie

	* ChangeLog:

	[no log message]

2005-05-20 21:16  lgorrie

	* slime.el:

	(slime-repl-enable-presentations): Default is enabled in GNU Emacs but
	disabled in XEmacs. Feature is not portable yet.

	Brutally 80-column'ified alanr's latest changes :-)

2005-05-20 20:04  aruttenberg

	* bridge.el:

	From ilisp

2005-05-20 20:02  aruttenberg

	* slime.el, present.lisp, ChangeLog:

	[no log message]

2005-05-20 14:55  aruttenberg

	* slime.el, ChangeLog:

	[no log message]

2005-05-20 07:42  lgorrie

	* ChangeLog:

	[no log message]

2005-05-20 07:41  lgorrie

	* swank.lisp:

	(clear-repl-results): Fixed unbalanced parens. Thanks Lawrence
	Mitchell.

2005-05-19 19:13  aruttenberg

	* ChangeLog:

	[no log message]

2005-05-19 19:06  aruttenberg

	* slime.el:

	[no log message]

2005-05-19 04:24  lgorrie

	* ChangeLog:

	[no log message]

2005-05-19 04:15  lgorrie

	* slime.el:

	(slime-property-bounds): Factored out this common part of
	slime-repl-grab-old-{input,output}.

	(slime-read-object): Avoid inline CL code.

2005-05-19 04:15  lgorrie

	* swank.lisp:

	(*record-repl-results*): Variable to enable/disable recording of REPL
	results. True by default.

	(*repl-results*): Renamed from ****.

2005-05-18 12:23  mbaringer

	* ChangeLog:

	[no log message]

2005-05-18 12:16  mbaringer

	* swank.lisp:

	(*current-id*, ****): New variables.
	(add-****, get-****, clear-last-****, clear-****): New functions
	for manipulating the repl history.
	(listener-eval): Add * to ****.

2005-05-18 12:16  mbaringer

	* slime.el:

	(slime-repl-inputed-output-face): new face.
	(slime-current-output-id): New variable.
	(slime-dispatch-event): Bind slime-current-output-id when
	neccessary.
	(slime-repl-insert-prompt): Add the neccessary text properties to
	the result.
	(reify-old-output): New function which makes sure swank sees
	\(swank::get-**** ...) while the user sees the printed
	representation of the object.
	(slime-repl-return): When called on a old output (as per the
	slime-repl-old-output text property, call
	slime-repl-grab-old-output.
	(slime-repl-send-input): Added the slime-repl-old-input text
	property.
	(slime-repl-grab-old-input): Keep the old input's text
	properties (unwanted text properties are removed later).
	(slime-repl-grab-old-output): New function.
	(slime-repl-clear-buffer): Added call to swank::clear-****
	(slime-repl-clear-output): Added call to swank::clear-**** and
	bind inhibit-read-only to nil.
	(slime-inspect): Call slime-read-object to get the value to
	inspect.
	(slime-read-object): New function which either reads an object
	from the minibuffer or returns the object at point if it has the
	slime-repl-old-output text property.

2005-05-18 12:15  mbaringer

	* ChangeLog:

	[no log message]

2005-05-14 11:13  asimon

	* swank-abcl.lisp:

	MOP symbols are now in the MOP package in ABCL

2005-05-12 21:05  aruttenberg

	* ChangeLog:

	[no log message]

2005-05-12 21:04  aruttenberg

	* swank.lisp:

	2005-05-12  Alan Ruttenberg  <alanr-l@mumble.net>

		* swank.lisp Add ability to customize behavior of the repl. To do
		so, add a function to the list swank::*slime-repl-eval-hooks*.
		This function is passed the form typed into the repl. The function
		should decide whether it wants to handle evaluation of the
		form. If not, call (repl-eval-hook-pass) and the next hook is
		tried. Otherwise the values the function returns are used instead
		of calling eval. Inside the body of the function you can also
		suppress having the repl print the result by calling
		(repl-suppress-output) and/or suppress the advancement of the
		history variables (*** ** * /// // /) by calling
		(repl-suppress-advance-history).

2005-05-11 16:47  heller

	* ChangeLog:

	[no log message]

2005-05-11 16:46  heller

	* slime.el:

	(slime-remove-old-overlays): Remove overlays in all slime buffers not
	only in the current buffer.
	(slime-filter-buffers): New helper.

	(slime-display-completion-list): Take the completed prefix as
	additional argument to initialize completion-base-size.  This is
	apparently needed to make mouse-selection working.
	(slime-maybe-complete-as-filename): Factor for common code in
	slime-complete-symbol* and slime-simple-complete-symbol.

2005-05-11 16:45  heller

	* swank-source-path-parser.lisp:

	(read-and-record-source-map): Ensure that at least the toplevel form
	is in the source-map.

2005-05-06 18:34  aruttenberg

	* ChangeLog:

	[no log message]

2005-05-06 18:30  aruttenberg

	* swank-openmcl.lisp:


	Fix specializer-name to handle structure-class, to fix edit definition
	of methods specialized on ddestructs

2005-05-06 13:13  heller

	* ChangeLog:

	[no log message]

2005-05-06 13:12  heller

	* swank-cmucl.lisp:

	(post-gc-hook): Include the elapsed time and the size distribution.

2005-05-05 10:59  eweitz

	* swank-lispworks.lisp:

	correction: swank.lisp is loaded after swank-lispworks.lisp...

2005-05-05 01:15  eweitz

	* ChangeLog, swank-lispworks.lisp:

	beautify undefined function warnings in LW

2005-05-04 10:52  eweitz

	* ChangeLog:

	fixed date in old entry

2005-05-04 10:39  eweitz

	* ChangeLog, swank-lispworks.lisp:

	call-with-compilation-hooks: better implementation for LW

2005-05-03 20:59  lgorrie

	* ChangeLog:

	[no log message]

2005-05-03 20:58  lgorrie

	* swank.lisp:

	(slime-secret): Removed #+unix conditional.

2005-05-02 20:58  lgorrie

	* ChangeLog:

	[no log message]

2005-05-02 20:44  lgorrie

	* swank.lisp:

	If ~/.slime-secret exists then insist that Emacs sends the contents
	(as a password) during initial handshaking.

	(announce-server-port): Use :IF-EXISTS :ERROR to prevent bad guys from
	slipping a symlink into /tmp and reading what port Lisp is listening
	on.

2005-05-02 20:42  lgorrie

	* slime.el:

	If ~/.slime-secret exists then send the contents to Lisp as
	authentication.

2005-05-02 20:17  lgorrie

	* slime.el, swank-backend.lisp, swank-cmucl.lisp:

	Minor comment tweaks.

2005-05-01 12:47  mbaringer

	* ChangeLog, slime.el:

	* slime.el (slime-inspector-reinspect): New function which
	reinspects the current object.
	(slime-inspector-mode-map): Bind slime-inspector-reinspect to g.

2005-04-29 01:32  heller

	* ChangeLog:

	[no log message]

2005-04-29 01:31  heller

	* slime.el:

	(slime-parse-context): Fix method parsing so that pressing, say, C-c
	C-t when point is on a '-' in a symbol name won't break.

	(slime-browser-map): New variable. Add support for the common 'q'
	keystroke to quit out of the xref.
	(slime-fetch-browsable-xrefs): New function. Remove the (FLET ...)
	entries which appear on at least CMUCL.  I don't believe you can
	actually expand them on any current implementation and they just mess
	up the browse tree.  Use only the method name when lookuping up
	(METHOD ...) entries on CMUCL.  This really shouldn't be here, but I
	can't see how to avoid the error thrown by swank:xref.
	(slime-expand-xrefs): Use it.
	(slime-call-with-browser-setup): Initialize slime-buffer-package
	properly.  Previously, lisp-mode was called after setting it, but
	lisp-mode clears all local variables, use lisp-mode-variables instead.

2005-04-29 01:30  heller

	* swank-cmucl.lisp:

	Be more carefully when tracing methods: try both (METHOD ...) and
	(PCL:FAST-METHOD ...).

2005-04-27 16:54  heller

	* ChangeLog:

	[no log message]

2005-04-27 16:48  heller

	* ChangeLog:

	[no log message]

2005-04-27 16:47  heller

	* swank-cmucl.lisp:

	(+header-type-symbols+): Drop the third arg to apropos-list; it's no
	longer supported recent CMUCLs.

2005-04-21 14:07  lgorrie

	* ChangeLog:

	[no log message]

2005-04-21 14:06  lgorrie

	* ChangeLog:

	Fixed a couple of entries for the benefit of the contributor-listing
	generator.

2005-04-21 09:40  lgorrie

	* ChangeLog:

	[no log message]

2005-04-21 09:39  lgorrie

	* swank.lisp:

	(arglist-to-string): Rolled back the previous change because it
	interferred with values appearing in parameter lists.

2005-04-20 19:27  lgorrie

	* ChangeLog:

	[no log message]

2005-04-20 19:23  lgorrie

	* swank.lisp:

	(arglist-to-string): Bind *PRINT-ESCAPE* to NIL. This way symbols in
	arglists are printed as with PRINC, i.e. without package qualifier.

2005-04-20 14:43  lgorrie

	* swank-sbcl.lisp:

	Fixed preferred-communication-style (last fix was broken).

2005-04-20 12:26  lgorrie

	* ChangeLog:

	[no log message]

2005-04-20 12:23  lgorrie

	* swank-sbcl.lisp:

	(communication-style): Use `linux_no_threads_p' alien variable to
	decide whether to use :SPAWN. From dan_b for compatibility with new
	SBCLs.

2005-04-19 22:24  heller

	* ChangeLog:

	[no log message]

2005-04-19 22:23  heller

	* PROBLEMS:

	Warn about old kernels.

2005-04-19 22:18  heller

	* swank-backend.lisp:

	Fix some typos.

2005-04-19 22:17  heller

	* swank-sbcl.lisp:

	(preferred-communication-style): Don't test for sb-futex, it has lost
	its meaning 0.8.21.

2005-04-18 21:39  heller

	* ChangeLog:

	[no log message]

2005-04-18 21:23  heller

	* slime.el:

	(inferior-lisp-program): Defvar it here, in case it is not defined in
	loaddefs and inf-lisp is not loaded. (That's the case in XEmacs.)

2005-04-18 20:59  heller

	* mkdist.sh:

	update version number.

2005-04-18 20:58  heller

	* doc/slime.texi:

	Update version numbers for SBCL and ACL.

2005-04-18 06:45  pseibel

	* ChangeLog:

	ChangeLog entries to go with last change.

2005-04-18 06:42  pseibel

	* swank-loader.lisp:

	Added GCL and ECL features to swank-loader.lisp

2005-04-14 17:41  heller

	* ChangeLog:

	[no log message]

2005-04-14 17:40  heller

	* slime.el:

	(slime-selector): Discard input after sleeping.

2005-04-09 09:08  heller

	* ChangeLog:

	[no log message]

2005-04-09 09:07  heller

	* swank.lisp:

	(with-io-redirection, with-connection, with-buffer-syntax): Implement
	macros with a `call-with' functions to avoid some code bloat.
	(call-with-connection, maybe-call-with-io-redirection)
	(call-with-buffer-syntax): New functions.

	(interactive-eval): Use from-string instead of read-from-string to
	avoid problems whit *read-suppress*.

2005-04-09 09:07  heller

	* swank-sbcl.lisp:

	Add a few comments.

2005-04-09 09:06  heller

	* swank-abcl.lisp:

	(print-frame): Trim whitespace to make the backtrace look a bit terser.

2005-04-09 09:05  heller

	* slime.el:

	(sldb-get-buffer): Create a fresh buffer if there's no buffer for the
	connection (and don't reuse an existing buffer even if it has a
	matching name).

	(slime-buffer-visible-p, slime-ir1-expand): Delete unused functions.
	Mark some others as unused, but leave them there because they are
	potentially useful.

2005-04-07 12:00  heller

	* ChangeLog:

	[no log message]

2005-04-07 12:00  heller

	* slime.el:

	(slime-net-coding-system): Even more fixes to make it with mule-XEmacs.

2005-04-07 08:55  heller

	* ChangeLog:

	[no log message]

2005-04-07 08:54  heller

	* slime.el:

	(slime-net-coding-system): More fixes for non-mule-XEmacsen.

2005-04-05 15:45  mbaringer

	* swank-lispworks.lisp:

	(find-top-frame): If we can't find an invoke-debugger frame we take
	any old frame at the top.

2005-04-05 15:41  mbaringer

	* ChangeLog:

	[no log message]

2005-04-04 08:16  heller

	* ChangeLog:

	[no log message]

2005-04-04 08:15  heller

	* cl-indent.el:

	Remove the file.  Let the Emacs developers maintain it.

2005-04-04 01:28  heller

	* ChangeLog:

	[no log message]

2005-04-04 01:28  heller

	* doc/slime.texi:

	Fix spelling errors.

2005-04-04 01:27  heller

	* swank-cmucl.lisp:

	(breakpoint-values): Fixes for CMUCL-2005-03 snapshot.

2005-04-04 01:27  heller

	* swank.lisp:

	(connection-info): Include version and hostname in the result.

2005-04-04 01:26  heller

	* slime.el:

	(slime-repl-show-maximum-output): New function. Immitate the scrolling
	behavior of a terminal.
	(slime-with-output-end-mark, slime-repl-return)
	(slime-repl-send-input, slime-display-output-buffer): Use it

	(slime-lisp-implementation-version, slime-machine-instance): New
	connection variables.
	(slime-set-connection-info): Initialize them.

	(find-coding-system, check-coding-system, process-coding-system):
	Dummy functions for non-mule-XEmacsen.

2005-04-01 23:57  lgorrie

	* ChangeLog, slime.el:

	(slime-xref-mode): Summarise the most important bindings in the mode
	description.

2005-04-01 22:16  lgorrie

	* metering.lisp:

	Maybe fixed some openmcl breakage.

2005-04-01 22:02  heller

	* ChangeLog:

	[no log message]

2005-04-01 21:58  heller

	* slime.el:

	(sldb-get-buffer): Initialize the buffer local variables
	slime-buffer-connection and slime-current-thread when create a fresh
	buffer.

2005-04-01 21:55  heller

	* swank.lisp:

	(spawn-repl-thread): Use *default-worker-thread-bindings* just like
	spawn-worker-thread.

	(wrap-sldb-vars): New function.  When evaluating a form in a frame,
	Allegro uses the "old" dynamic context, i.e., dynamic variables like
	*sldb-level* and the like are reset to the values in those frames.
	But if *sldb-level* is reset to 0, Emacs doesn't notice when a
	(recursive) error occurs while evaluating the form in the old frame.
	wrap-sldb-vars saves the debugger related variables to avoid such
	confusion.
	(eval-string-in-frame, pprint-eval-string-in-frame): Use it.

2005-04-01 21:44  heller

	* swank-allegro.lisp:

	(eval-in-frame): Allegro's eval-form-in-context does nothing special
	with lexical variables in the frame.  Wrap an explicit LET around the
	form to get the similar behavior as in the other Lisps.

	(inspect-for-emacs (structure-object)): Remove structure related
	methods.  It's already covered by the general case with
	allegro-inspect.
	(common-seperated-spec): Deleted

2005-04-01 20:31  lgorrie

	* ChangeLog:

	[no log message]

2005-04-01 20:24  lgorrie

	* metering.lisp:

	Now supports only CLISP and OpenMCL.

	Removed a lot of really ugly reader-conditionalized code, much of it
	for archaic lisps (#+cltl2, #+lcl3.0, #+mcl1.3.2, etc).

2005-04-01 16:09  lgorrie

	* ChangeLog:

	[no log message]

2005-04-01 15:59  lgorrie

	* swank-source-path-parser.lisp:

	(check-source-path): Signal an error if a source path is malformed.
	SBCL sometimes gives (NIL).

	(source-path-stream-position): Use it.

2005-04-01 13:03  lgorrie

	* ChangeLog:

	[no log message]

2005-04-01 13:02  lgorrie

	* slime.el:

	(slime-goto-definition): Handle :error locations here before any
	window/buffer changes are made.

2005-04-01 10:43  lgorrie

	* ChangeLog:

	[no log message]

2005-04-01 10:42  lgorrie

	* slime.el:

	(slime-keys): Bind slime-edit-definition-other-window to `C-x 4 .' and
	slime-edit-definition-other-frame to `C-x 5 .', shadowing the
	equivalent find-tag... bindings.

	(slime-goto-definition): In the other-window and other-frame cases,
	make sure point does not move in the originating window, even when the
	definition is found in the same buffer.

2005-03-31 22:39  lgorrie

	* doc/slime.texi:

	slime-selector: minor edit.

2005-03-31 22:21  lgorrie

	* doc/slime.texi:

	(slime-selector): New section.
	(Inspector): Updated for the post-1.0 inspector.

2005-03-31 21:33  lgorrie

	* slime.el:

	(slime-selector): Removed unneeded "the" prefixes in descriptions of
	what the selector methods do.

2005-03-27 21:41  heller

	* NEWS, PROBLEMS, ChangeLog:

	[no log message]

2005-03-27 21:06  heller

	* doc/slime.texi:

	Mention Unicode support and some multi-threading issues.

2005-03-27 20:40  heller

	* swank-clisp.lisp, ChangeLog:

	[no log message]

2005-03-23 13:23  mbaringer

	* ChangeLog:

	[no log message]

2005-03-23 13:23  mbaringer

	* swank.lisp:

	(commit-edited-value): Read a backquated string, instead of quating
	the result of read. This allows one to put ,(form) into edit-value
	buffers.

2005-03-22 11:13  heller

	* ChangeLog:

	[no log message]

2005-03-22 11:12  heller

	* swank-lispworks.lisp:

	(swank-compile-string): Bind *print-radix* to t, to avoid problems if
	somebody uses different values for *print-base* and *read-base*.
	Reported by Alain Picard.

	(emacs-connected): Add default methods for
	environment-display-notifier and environment-display-debugger.

2005-03-21 18:40  heller

	* ChangeLog:

	[no log message]

2005-03-21 18:40  heller

	* swank-sbcl.lisp:

	(source-file-source-location): Read the snippet at the right position.

2005-03-21 18:40  heller

	* swank-source-file-cache.lisp:

	(read-snippet): Take the start position as optional argument.

2005-03-21 12:04  heller

	* ChangeLog:

	[no log message]

2005-03-21 12:03  heller

	* swank-sbcl.lisp:

	(locate-compiler-note): Handle errors in macros better.

2005-03-21 01:59  heller

	* ChangeLog:

	[no log message]

2005-03-21 01:58  heller

	* swank.lisp:

	(commit-edited-value): Use buffer syntax.

	(compile-file-for-emacs, compile-string-for-emacs): Bind
	*compile-print* to nil.

2005-03-21 01:58  heller

	* swank-cmucl.lisp:

	(call-with-debugging-environment): Rebind kernel:*current-level* 0.
	Useful for debugging pretty printer code.

	(inspect-for-emacs): Show details of interpreted functions.

2005-03-21 01:57  heller

	* swank-sbcl.lisp:

	(quit-lisp): If we are running multithreaded, terminate all other
	threads too.  (still broken in 0.8.20.27; used to work in ~0.8.20.2.)

	(with-debootstrapping, call-with-debootstrapping): Remove ugly
	backward compatibility code.
	(sbcl-source-file-p, guess-readtable-for-filename): New utilities.

	(function-source-location): Handle work off to helper functions.
	(find-function-source-location): New function.  Use the
	shebang-readtable for SBCL source files.
	(function-source-position, function-source-filename)
	(function-source-write-date, function-toplevel-form-number)
	(function-hint-snippet, function-has-start-location-p)
	(function-start-location): New helpers.

	(safe-source-location-for-emacs): Don't catch errors if
	*debug-definition-finding* is true.

	(inspect-for-emacs): Minor beautifications.

2005-03-21 01:43  lgorrie

	* ChangeLog:

	[no log message]

2005-03-21 01:38  lgorrie

	* swank-sbcl.lisp:

	(function-source-location): For definitions compiled in Emacs buffers,
	include the :emacs-string as a :snippet hint for search-based M-.
	lookup.

2005-03-21 00:34  lgorrie

	* ChangeLog:

	[no log message]

2005-03-21 00:11  eweitz

	* ChangeLog, swank-loader.lisp:

	Added LW features

2005-03-18 23:34  heller

	* swank-source-path-parser.lisp:

	(make-source-recording-readtable): Ignore non-ascii chars.

2005-03-18 23:33  heller

	* ChangeLog:

	[no log message]

2005-03-18 23:25  heller

	* ChangeLog:

	[no log message]

2005-03-18 23:23  heller

	* swank-sbcl.lisp:

	(swank-compile-string): Re-implemented.  This time with temp-files and
	proper source-location tracking.
	(install-debug-source-patch, debug-source-for-info-advice): Patch
	SBCL's debug-source-for-info so that we can dump our own bits of debug
	info.
	(temp-file-name, call/temp-file): New utilities.

	(function-source-location, code-location-source-path): Rewritten to
	handle C-c C-c functions.  Also use the source-path to locate the
	position.

	(locate-compiler-note): Renamed from resolve-note-location.

	(file-source-location, lisp-source-location)
	(temp-file-source-location, source-file-source-location)
	(string-source-position, code-location-debug-source-info)
	(code-location-debug-source-name, code-location-debug-source-created,)
	(code-location-debug-fun-fun, code-location-from-emacs-buffer-p)
	(function-from-emacs-buffer-p, function-debug-source-info)
	(info-from-emacs-buffer-p, code-location-has-debug-block-info-p)
	(stream-source-position): Lots of new helper functions.

	(with-debootstrapping): Moved upwards so that it can be used for
	source location searching.

	(source-location-for-emacs): Deleted

2005-03-18 20:27  lgorrie

	* slime.el:

	(slime-complete-symbol*-fancy): Now nil by default.

2005-03-16 23:11  heller

	* ChangeLog:

	[no log message]

2005-03-16 23:07  heller

	* swank-loader.lisp:

	(unique-directory-name): Rewritten to avoid the rather irritating
	warning that (warn "Don't know ...") is unreachable.

2005-03-16 23:03  heller

	* swank.lisp:

	(*macroexpand-printer-bindings*): New user variable.
	(apply-macro-expander): Use it.

	(call-with-bindings): Bind reverse the list. Makes it easer to cons or
	push a new binding at the front the list.
	(with-bindings): New macro.

2005-03-16 22:58  heller

	* slime.el:

	(slime-run-when-idle): New function to hide Emacs/XEmacs differences.
	See Steven E. Harris' message from 15 Mar 2005.
	(slime-process-available-input): Use it.

2005-03-13 20:41  lgorrie

	* ChangeLog:

	[no log message]

2005-03-13 20:39  lgorrie

	* slime.el:

	(slime-dispatch-event): Use `slime-busy-p' to control the "; pipelined
	request" message. This way it takes requests blocked in the debugger
	into account and avoids spurious messages.

2005-03-13 16:16  lgorrie

	* ChangeLog:

	[no log message]

2005-03-13 16:16  lgorrie

	* swank.lisp:

	(inspect-for-emacs symbol): Add an "unintern it" action for symbols.

2005-03-13 04:02  lgorrie

	* ChangeLog:

	[no log message]

2005-03-13 04:01  lgorrie

	* swank-source-file-cache.lisp:

	(read-snippet): Skip comments and whitespace in SBCL. The
	source-positions reported by SBCL are not adjusted to skip over
	whitespace before the definition.

2005-03-13 03:57  lgorrie

	* swank-sbcl.lisp:

	Updated for revisted sb-introspect patch:
	s/DEFINITION-SOURCE-CREATED/DEFINITION-SOURCE-WRITE-DATE/

2005-03-13 01:39  lgorrie

	* ChangeLog:

	[no log message]

2005-03-13 01:39  lgorrie

	* swank-loader.lisp:

	(*os-features*): Added :mswindows. Thanks Will Glozer.

2005-03-12 17:10  lgorrie

	* slime.el:

	Fix to slime-edit-value-callback to disable slime-temp-buffer-mode.
	Otherwise 'q' dismisses the buffer.

2005-03-12 17:02  lgorrie

	* ChangeLog:

	[no log message]

2005-03-12 17:02  lgorrie

	* swank.lisp:

	(value-for-editing, commit-edited-value): New functions for
	slime-edit-value.

2005-03-12 17:01  lgorrie

	* slime.el:

	(slime-edit-value): New function on `C-c E'. Prompts for a Lisp
	expression, evaluates and displays the result in a new buffer for
	editing, and then setf's the edited value in Lisp after you press C-c
	C-c. Usage example: `C-c E asdf:*central-registry*' Minor docstring
	and pull-down-menu changes.

2005-03-12 03:48  lgorrie

	* ChangeLog:

	[no log message]

2005-03-12 03:46  lgorrie

	* slime.el:

	Fix from Antonio Menezes Leitao.

2005-03-12 03:44  lgorrie

	* swank-allegro.lisp:

	(toggle-trace): Fix from Antonio Menezes Leitao.

2005-03-12 02:50  lgorrie

	* ChangeLog:

	[no log message]

2005-03-12 02:50  lgorrie

	* swank-source-file-cache.lisp:

	Source file cache management factored out of swank-cmucl.lisp

2005-03-12 02:50  lgorrie

	* swank-sbcl.lisp:

	Use swank-source-file-cache to find snippets of definitions. M-. is
	now much more robust to modifications in the source file.

	NOTE: To be effective requires a patch to sb-introspect that I have
	posted to sbcl-devel.

2005-03-12 02:49  lgorrie

	* swank-loader.lisp:

	Updated for swank-source-file-cache.lisp (CMUCL & SBCL)

2005-03-12 02:49  lgorrie

	* swank-cmucl.lisp:

	Source file cache is now moved into swank-source-file-cache.lisp

2005-03-12 02:48  lgorrie

	* swank-backend.lisp:

	Doc fix.

2005-03-10 19:49  lgorrie

	* ChangeLog:

	[no log message]

2005-03-10 19:43  lgorrie

	* slime.el:

	(slime-toggle-trace-fdefinition): If there is no symbol at point then
	prompt for one.

2005-03-10 02:01  pseibel

	* ChangeLog, swank-loader.lisp:

	Changing ERROR to WARN in unique-directory-name.

2005-03-09 22:34  pseibel

	* ChangeLog, swank-loader.lisp:

	Adding missing features for unique-directory-name.

2005-03-09 18:57  pseibel

	* slime.el:

	Tweaks to new symbolic lisp names.

2005-03-09 17:18  pseibel

	* ChangeLog, slime.el:

	Added symbolic lisp names.

2005-03-09 06:17  pseibel

	* ChangeLog, doc/Makefile:

	Tweaks to doc/Makefile

2005-03-09 04:56  pseibel

	* ChangeLog, swank-loader.lisp:

	Updating feature lists for FASL directory names computing code.

2005-03-08 03:35  pseibel

	* ChangeLog, swank-loader.lisp:

	Changing way swank-loader determines where to save fasls.

2005-03-07 09:46  lgorrie

	* swank.lisp, ChangeLog:

	[no log message]

2005-03-06 22:45  lgorrie

	* ChangeLog:

	[no log message]

2005-03-06 22:45  lgorrie

	* slime.el:

	Added slime-complete-form to the menu.

2005-03-06 22:44  lgorrie

	* swank-backend.lisp:

	Export FINALIZE-INHERITANCE from SWANK-MOP.

2005-03-06 22:43  lgorrie

	* swank.lisp:

	(format-arglist-for-echo-area): Use extra-keywords to enrich the list
	of keywords.

	(arglist-to-string): Remove extraneous whitespace.

	(keyword-arg, optional-arg): New structures.

	(decode-keyword-arg, decode-optional-arg): Return structure objects
	rather than multiple values.

	(encode-keyword-arg, encode-optional-arg, encode-arglist): New
	functions.

	(arglist): New slot key-p.

	(decode-arglist): Handle &whole, &environment. Store more information
	on optional and keyword args, set arglist.key-p.

	(values-equal?): Removed.

	(print-decoded-arglist-as-template): If keyword is not a keyword
	symbol, quote it in the template.

	(extra-keywords): Return a secondary value (allow-other-keys). For
	make-instance, try to finalize the class if it is not finalized yet
	(fix for Allegro CL 6.2). If class is not finalizable, use direct
	slots instead of slots and indicate that the keywords are not
	complete.

	(enrich-decoded-arglist-with-extra-keywords): New function, use the
	secondary value of extra-keywords.

	(arglist-for-insertion, complete-form): Use it here.

	(remove-keywords-alist): New variable.

	(remove-actual-args): When the keyword :test is provided, don't
	suggest :test-not and vice versa.

2005-03-06 17:49  lgorrie

	* ChangeLog:

	[no log message]

2005-03-06 17:49  lgorrie

	* swank.lisp:

	Export LOG-OUTPUT.

2005-03-05 00:44  heller

	* ChangeLog:

	[no log message]

2005-03-05 00:44  heller

	* swank-allegro.lisp:

	(process-fspec-for-allegro, toggle-trace): Handle setf functions.
	(tracedp): Fix free variable.

	(call-with-debugging-environment, find-topframe): Hide the first 2
	frames. Those are created by swank-internal functions.

2005-03-05 00:43  heller

	* slime.el:

	(slime-inferior-lisp): Don't display the buffer.  Let callers do that.
	(slime): Display the inferior buffer.

	(slime-net-sentinel): Always print a message when the lisp
	disconnects.
	(slime-quit-lisp, slime-quit-sentinel): Use set a special sentinel and
	do most of the cleanups there.
	(slime-repl-sayoonara): Use slime-quit-lisp.

	(slime-restart-inferior-lisp, slime-restart-inferior-lisp-aux)
	(slime-restart-sentinel): Use a special sentinel to restart
	processes.

	(slime-hide-inferior-lisp-buffer): Do the windows arrangement a bit
	differently. Related to restart-lisp.
	(slime-repl-buffer): Take the connection as second optional
	argument.  Useful for rearranging dead windows of dead processes.

	(slime-trace-query): The :defgeneric query was bogus.
	(slime-extract-context): Don't skip over the method name if we are
	already at the end of the name.

2005-03-03 01:11  lgorrie

	* swank-sbcl.lisp:

	Fixed for latest SBCL HEAD revision and temporarily
	backwards-compatible with the current release.

2005-03-03 01:03  lgorrie

	* ChangeLog:

	[no log message]

2005-03-03 00:50  lgorrie

	* ChangeLog:

	[no log message]

2005-03-03 00:50  lgorrie

	* swank-sbcl.lisp:

	Fixed for (and requires) 0.8.20.

2005-03-02 00:24  mbaringer

	* ChangeLog:

	[no log message]

2005-03-02 00:23  mbaringer

	* swank-loader.lisp:

	Look for a file in the same directory as swank-loader.lisp called
	site-init.lisp. If it exists we load that instead of attempting to
	load ~/.swank.lisp.
	(user-init-file): Superseded by load-user-init-file.
	(load-user-init-file): New function.
	(load-site-init-file): New function.

2005-03-01 00:34  heller

	* ChangeLog:

	[no log message]

2005-03-01 00:32  heller

	* swank.lisp:

	(*sldb-printer-bindings*, *swank-pprint-bindings*): New variables.
	The alists replace the variables which where previously hidden with
	the define-printer-variables macro.
	(define-printer-variables, with-printer-settings): Deleted, because
	the variable names where not visible in the source code.

	(swank-toggle-trace): Renamed from toggle-trace-fdefinition.

2005-03-01 00:32  heller

	* swank-allegro.lisp, swank-cmucl.lisp, swank-lispworks.lisp,
	  swank-sbcl.lisp:

	(toggle-trace): Update tracing code for new interface.

2005-03-01 00:30  heller

	* swank-backend.lisp:

	(calls-who, toggle-trace): New functions.
	(toggle-trace-function, toggle-trace-generic-function-methods,
	(toggle-trace-method,  toggle-trace-fdefinition-wherein): Replaced by
	toggle-trace.

2005-03-01 00:29  heller

	* slime.el:

	(slime-who-bindings): Bind who-specializes to C-c W a.

	(slime-extract-context): Renamed from name-context-at-point.
	(slime-beginning-of-list): Renamed from out-first.
	(slime-slime-parse-toplevel-form): Renamed from definition-name.
	(slime-arglist-specializers): Renamed from parameter-specializers.
	(slime-toggle-trace-function, slime-toggle-trace-defgeneric)
	(slime-toggle-trace-defmethod, slime-toggle-trace-maybe-wherein)
	(slime-toggle-trace-within): Deleted. Everything is now handeled
	by slime-trace-query.

	(slime-calls-who): For symmetry with silme-who-calls.

	(slime-edit-definition-with-etags): Better intergration with TAGS.
	(slime-edit-definition-fallback-function): Mention it in the docstring.

2005-02-26 11:39  lgorrie

	* swank-cmucl.lisp:

	(toggle-trace-method) (toggle-trace-fdefinition-wherein):
	Conditionalized for CMU19.

2005-02-24 19:18  heller

	* ChangeLog:

	[no log message]

2005-02-24 19:17  heller

	* slime.el:

	(slime-dispatch-event): Add :eval-no-wait and :eval events.
	(slime-eval-for-lisp): New function.

	(sldb-buffers): Delete the variable.  Use (buffer-list) instead.

2005-02-24 19:10  heller

	* swank-loader.lisp:

	(compile-files-if-needed-serially): Reduce verbosity by setting the
	:print argument for compile-file to nil.

2005-02-24 19:10  heller

	* swank-sbcl.lisp:

	(call-with-debugger-hook): Bind sb-ext:*invoke-debugger-hook* instead
	of setting it in emacs-connected.
	(emacs-connected): Deleted.

2005-02-24 19:09  heller

	* swank-backend.lisp:

	(call-with-debugger-hook): New function. Useful if the backend needs
	special incantations for BREAK.

	(toggle-trace-function): Add a default implementation for simple
	symbols.

2005-02-24 19:08  heller

	* swank-lispworks.lisp:

	(slime-env): New class.
	(call-with-debugger-hook): Use env:with-environment to pop up our
	debugger on a BREAK.

	(toggle-trace-method, parse-fspec, tracedp, toggle-trace): Implement
	method tracing.

2005-02-24 19:08  heller

	* swank.lisp:

	(eval-for-emacs): Use the new backend function call-with-debugger-hook.

	(eval-in-emacs): Cleaned up. Add support for synchronous RPCs.
	(receive-eval-result): New function.
	(dispatch-event, read-from-socket-io, send-to-socket-io): New :eval
	event. Rename :%apply to :eval-no-wait.
	(read-user-input-from-emacs, evaluate-in-emacs): Increment
	*read-input-catch-tag* instead of re-binding it. Reduces the danger of
	throwing to the wrong tag a bit.

2005-02-23 14:13  heller

	* ChangeLog:

	[no log message]

2005-02-23 14:10  heller

	* slime.el:

	(slime-startup-animation, slime-repl-update-banner): Put the animation
	back in to keep the kids quiet.

	(slime-kill-without-query-p): Change default to nil.

	(slime-eval-describe, slime-eval-region)
	(slime-pprint-eval-last-expression): Fix typos in docstrings.

	(slime-eval/compile-defun-dwim): Deleted. We never had a key binding
	anyway.

2005-02-22 07:27  heller

	* swank-allegro.lisp:

	(restart-frame): Simplify it a little.

	(toggle-trace-generic-function-methods): Minor reformatting.

2005-02-22 07:06  heller

	* ChangeLog:

	[no log message]

2005-02-22 07:04  heller

	* slime.el:

	(slime-complete-form): Emacs 20 compatibility fix.

	(slime-repl-update-banner): Remove animation stuff.
	(slime-startup-animation): Deleted.

2005-02-22 06:59  heller

	* swank-lispworks.lisp:

	(swank-mop:compute-applicable-methods-using-classes): Implement it.

2005-02-21 00:08  lgorrie

	* ChangeLog:

	Fixed removed comments!

2005-02-20 21:29  lgorrie

	* ChangeLog:

	[no log message]

2005-02-20 21:29  lgorrie

	* slime.el:

	(slime-complete-form): New command.

	(slime-keys): Bind C-c C-s to slime-complete-form rather than
	slime-insert-arglist.

2005-02-20 21:29  lgorrie

	* swank.lisp:

	(arglist): New struct for storing decoded arglists.
	(decode-arglist): New function.
	(arglist-keywords, methods-keywords, generic-function-keywords,
	applicable-methods-keywords): New functions.
	(decoded-arglist-to-template-string,
	print-decoded-arglist-as-template): New functions.
	(arglist-to-template-string): Rewrite using above functions.
	(remove-actual-args): New function.
	(complete-form): New slimefun.

	(extra-keywords): New generic function.

	(arglist-for-insertion): Use extra-keywords to
	enrich the list of keywords.

	(valid-operator-symbol-p): New function.
	(valid-operator-name-p): Use valid-operator-symbol-p.

2005-02-20 21:20  lgorrie

	* swank-backend.lisp:

	Export compute-applicable-methods-using-classes.

2005-02-18 17:08  mbaringer

	* ChangeLog:

	see ChangeLog

2005-02-18 17:04  mbaringer

	* swank.lisp:

	(dispatch-event): Handle the :evaluate-in-emacs
	message type.
	(evaluate-in-emacs): New function.

2005-02-18 17:03  mbaringer

	* swank-cmucl.lisp, swank-sbcl.lisp:

	(toggle-trace-generic-function-methods,
	toggle-trace-function, toggle-trace-method,
	toggle-trace-fdefinition-wherein): Implement.
	(toggle-trace, process-fspec): New functions.

2005-02-18 17:03  mbaringer

	* swank-backend.lisp:

	(toggle-trace-function,
	toggle-trace-generic-function-methods, toggle-trace-method,
	toggle-trace-fdefinition-wherein,
	toggle-trace-fdefinition-within): New backend functions
	for the new trace facility.

2005-02-18 17:03  mbaringer

	* swank-allegro.lisp:

	(toggle-trace-generic-function-methods,
	toggle-trace, toggle-trace-function, toggle-trace-method,
	toggle-trace-fdefinition-wherein,
	toggle-trace-fdefinition-within): Implement.
	(process-fspec-for-allegro): New function.

2005-02-18 17:01  mbaringer

	* slime.el:

	(slime-dispatch-event): Added the :evaluate-in-emacs
	dispatch state which simply parses the message and class
	evaluate-in-emacs.
	(evaluate-in-emacs): New function.
	(complete-name-context-at-point, name-context-at-point, out-first,
	definition-name, parameter-specializers,
	slime-toggle-trace-fdefinition, slime-toggle-trace-function,
	slime-toggle-trace-defgeneric, slime-toggle-trace-defmethod,
	slime-toggle-trace-maybe-wherein, slime-toggle-trace-within): New
	functions implementing the new intelligent slime trace.

2005-02-10 20:22  asimon

	* swank-abcl.lisp:


	source-location: conform to abcl's new protocol (Peter Graves)
	pprint frames

2005-02-02 21:36  heller

	* ChangeLog:

	[no log message]

2005-02-02 21:33  heller

	* slime.el:

	Require the timer package explicitly.

2005-02-02 04:09  lgorrie

	* ChangeLog:

	[no log message]

2005-02-02 04:08  lgorrie

	* slime.el:

	(slime-repl-send-input): Move some properties of old REPL input (e.g.
	read-only) from text properties into an overlay, so that kill/yank
	will leave them behind. Left `slime-repl-old-input' as a text
	properties because it's more convenient to lookup that way.

	(slime-repl-return): Ignore `slime-repl-old-input' property if the
	point is in front of the current REPL prompt, i.e. if the user has
	copy&pasted some old REPL input into the current input area.

2005-01-30 10:43  heller

	* ChangeLog:

	[no log message]

2005-01-30 10:29  heller

	* ChangeLog:

	[no log message]

2005-01-30 10:29  heller

	* slime.el:

	(slime-goto-location-position): Changed the regexp to require the
	function-name to be followed by a non-symbol-constituent character
	\S_.  Previously a function-name of "find" will first match
	find-if-not if it occurs earlier in the file.  Patch from Bryan
	O'Connor.

2005-01-27 20:56  heller

	* ChangeLog:

	[no log message]

2005-01-27 20:56  heller

	* swank.lisp:

	(*pending-continuations*, eval-in-emacs, debugger-info-for-emacs):
	Keep track of debugged continuation the new variable
	*pending-continuations* and include the list of active continuations
	in the debugger info for Emacs.

	(eval-and-grab-output): New function.  Used by slime-eval-print.

	(*log-output*): Renamed from *log-io*.  Use *standard-error* as
	initial value instead of *terminal-io*.  CMUCL opens its own tty and
	that makes it hard to redirect to output with a shell.
	*standard-error* writes its output to file descriptor 2.

	(*canonical-package-nicknames*): Fix typo.

2005-01-27 20:54  heller

	* slime.el:

	(slime-busy-p): Ignore debugged continuations to enable arglist lookup
	while debugging.  Suggested by Lynn Quam.
	(sldb-continuations): New buffer local variable in sldb buffers to
	keep track of debugged continuatons.
	(sldb-debugged-continuations): New function.
	(sldb-buffers): Renamed from sldb-remove-killed-buffers.

	(slime-eval-print): New function to insert the stream output and the
	result of an evaluation in the current buffer.
	(slime-eval-print-last-expression): Use it.
	(slime-interactive-eval): Use slime-eval-print when a prefix argument
	was given.

2005-01-20 21:05  heller

	* ChangeLog:

	[no log message]

2005-01-20 21:02  heller

	* swank.lisp:

	(parse-symbol): Don't break if the package doesn't exists.

2005-01-20 17:09  heller

	* ChangeLog:

	[no log message]

2005-01-20 17:09  heller

	* swank-allegro.lisp:

	(handle-undefined-functions-warning): Prevent breakage if the
	undefined function is called at multiple locations.  By Edi Weitz.

	(restart-frame): Handle frames with arguments better.  From Ian Eslick.

2005-01-19 19:32  heller

	* ChangeLog:

	[no log message]

2005-01-19 19:31  heller

	* slime.el:

	(slime-insert-arglist): Inserts a template for a function call instead
	of the plain arglist; this makes a difference for functions with
	optional and keyword arguments.

2005-01-19 19:30  heller

	* swank.lisp:

	(arglist-to-template-string): New function.
	(arglist-for-insertion): Use it
	(decode-keyword-arg, decode-optional-arg): New functions.

2005-01-19 19:28  heller

	* swank-gray.lisp:

	(stream-unread-char): If the char argument doesn't match the contents
	in the buffer ignore it and emit a warning instead.

2005-01-19 19:27  heller

	* swank-cmucl.lisp:

	(breakpoint): Add a slot for return values to make return values
	inspectable in the debugger.
	(signal-breakpoint): Initialize the new slot.

2005-01-19 12:58  lgorrie

	* ChangeLog:

	[no log message]

2005-01-19 12:58  lgorrie

	* slime.el:

	(slime-header-line-p): Customize variable to enable/disable the
	header-line in the REPL.

2005-01-18 17:21  lgorrie

	* slime.el:

	(slime-complete-symbol*-fancy): Now defaults to t.

	(slime-complete-symbol*-fancy-bit): Factored out this function.
	Only do "semantic" completion when the symbol is in function-position,
	avoid interning argument names in Emacs, and don't display arglists if
	the minibuffer is active.

2005-01-18 17:03  lgorrie

	* ChangeLog:

	[no log message]

2005-01-18 17:01  lgorrie

	* slime.el:

	(slime-complete-symbol*-fancy): New variable to enable extra bells and
	whistles with slime-complete-symbol*. Currently controls whether to
	use arglists semantically.

	(slime-complete-symbol*): Avoid displaying an arglist when the
	minibuffer is active.

2005-01-14 18:08  lgorrie

	* ChangeLog:

	[no log message]

2005-01-14 18:08  lgorrie

	* slime.el:

	(slime-repl-send-input): Make old input read-only using an overlay
	instead of a text property. This way if you copy&paste the input
	elsewhere it will become editable (overlay is associated with the
	buffer region and not the text).

2005-01-14 08:59  eweitz

	* ChangeLog, slime.el:

	slime.el (slime-complete-symbol*): Maybe insert closing parenthesis or space after symbol completion has finished.

2005-01-14 00:21  heller

	* ChangeLog:

	[no log message]

2005-01-14 00:17  heller

	* swank-cmucl.lisp:

	(create-socket): The byte-order of the :host argument for
	CREATE-INET-LISTENER was changed in the Jan 2005 snapshot.  Test
	whether the symbol 'ext:socket-error exists to decide if we are in a
	older version.
	(resolve-hostname): Return the address in host byte-order.

2005-01-12 18:10  heller

	* ChangeLog:

	[no log message]

2005-01-12 18:08  heller

	* slime.el:

	(slime-changelog-date): Return nil if the ChangLog file doesn't exits.
	(slime-repl-update-banner): Write "ChangLog file not found" if the
	ChangeLog doesn't exist.

2005-01-12 17:54  heller

	* slime.el:

	(slime-inspector-operate-on-click): New command for inspecting the
	value value at the clicked-at position or invoking an inspector
	action.
	(slime-inspector-mode-map): Bind it to mouse-2.
	(slime-inspector-insert-ispec): Add mouse-face properties for
	clickable values and action buttons.

2005-01-12 17:25  heller

	* swank.lisp:

	[no log message]

2005-01-12 17:22  heller

	* swank.lisp:

	(*default-worker-thread-bindings*): New variable to initialize dynamic
	variables in worker threads.
	(spawn-worker-thread, call-with-bindings): New helper functions.
	(thread-for-evaluation): Use them.

2005-01-10 20:35  heller

	* ChangeLog:

	[no log message]

2005-01-10 20:34  heller

	* swank.lisp:

	(inspect-for-emacs-list): LispWorks has a low args limit for apply:
	use reduce instead of apply.

2005-01-10 20:33  heller

	* swank-sbcl.lisp:

	(profile-package): Add implementation for SBCL.

2005-01-10 20:32  heller

	* slime.el:

	(slime-conservative-indentation): The default is now nil.  Suggested
	by Travis Cross.

	(slime-inspector-next-inspectable-object): Accept a prefix argument
	and make wrapping around more reliable.  The code is adapted from
	`widget-move'.
	(slime-inspector-previous-inspectable-object): New command.
	(slime-inspector-mode-map): Bind to S-TAB.

2004-12-21 14:49  msimmons

	* swank-lispworks.lisp:

	(create-socket): Work around bug in comm::create-tcp-socket-for-service on Mac
	OS LW 4.3.

2004-12-21 14:48  msimmons

	* ChangeLog:

	[no log message]

2004-12-16 23:25  heller

	* ChangeLog:

	[no log message]

2004-12-16 23:24  heller

	* slime.el:

	(slime-complete-symbol*): Bind comint-completion-addsuffix so
	unambiguous or exact completion closes the string automatically.

2004-12-16 22:26  heller

	* ChangeLog:

	[no log message]

2004-12-16 22:16  heller

	* swank.lisp:

	(frame-for-emacs): Print the frame number a little nicer with ~2D.

2004-12-16 22:14  heller

	* swank-cmucl.lisp:

	(form-number-stream-position): Use  read-source-form.

2004-12-16 22:13  heller

	* swank-source-path-parser.lisp:

	(read-source-form): New function. Common code from
	source-path-stream-position and form-number-stream-position.
	(source-path-stream-position): Use it.

2004-12-16 22:08  heller

	* slime.el:

	(slime-keys): Bind M-* to slime-pop-find-definition-stack for
	compatibility with standard Emacs convention.

2004-12-16 00:00  heller

	* ChangeLog:

	[no log message]

2004-12-15 23:45  heller

	* swank-backend.lisp:

	(frame-package): Delete it.  Include the
	package name for local variables because it is utterly confusing
	if `eval-in-frame' doesn't work due to missing package prefixes.

2004-12-15 23:40  heller

	* swank-cmucl.lisp:

	(frame-package): Delete it.  Include the package name for local
	variables because it is utterly confusing if `eval-in-frame' doesn't
	work due to missing package prefixes.

2004-12-15 23:37  heller

	* swank-source-path-parser.lisp:

	(source-path-stream-position): Bind *read-suppress* to nil before
	calling read-and-record-source-map.

2004-12-15 23:35  heller

	* swank-clisp.lisp:

	(*buffer-name* *buffer-offset*): Move definitions upward before the
	first use.

2004-12-15 23:30  heller

	* swank.lisp, slime.el:

	(slime-lisp-modes): New variable to make C-c C-k customizable and
	usable in scheme-mode.
	(slime-compile-file): Use it.

2004-12-15 08:14  heller

	* ChangeLog:

	[no log message]

2004-12-15 08:11  heller

	* slime.el:

	(slime-output-string): Remove debugging stuff.

2004-12-15 08:09  heller

	* slime.el:

	(slime-edit-definition-other-frame): New function.
	(slime-edit-definition): Switch to the other frame if the `where' is
	'frame.

2004-12-13 21:14  heller

	* ChangeLog:

	[no log message]

2004-12-13 21:10  heller

	* slime.el:

	(slime-repl-grab-old-input): Remove the 'old-input text-property from
	the copied text.

2004-12-13 21:05  heller

	* slime.el:

	(slime-repl-grab-old-input): Append the old input to the current
	input by default.  If the new `replace' argument and is true, replace
	the current input.

2004-12-13 20:55  heller

	* ChangeLog:

	[no log message]

2004-12-13 20:54  heller

	* slime.el:

	(slime-repl-mode-map): Bind <home> to slime-repl-bol.  Suggested by
	Chris Capel.

2004-12-09 21:44  heller

	* ChangeLog:

	[no log message]

2004-12-09 21:43  heller

	* swank.lisp:

	(*sldb-print-pretty*, *sldb-print-circle*, *sldb-print-length*)
	(*sldb-print-level*, *sldb-print-lines*)
	(*sldb-print-pprint-dispatch*): Export those symbols.

2004-12-05 22:15  heller

	* ChangeLog:

	[no log message]

2004-12-05 22:13  heller

	* swank-cmucl.lisp:

	(sending-safe-p): New predicate.
	(pre-gc-hook, post-gc-hook): Use it.
	(*install-gc-hooks*): New user variable.

2004-12-05 22:06  heller

	* swank.lisp:

	(eval-region): Use a simple loop.

2004-12-05 16:25  heller

	* swank-clisp.lisp:

	Minor cleanups.

2004-12-05 15:58  heller

	* ChangeLog:

	[no log message]

2004-12-05 15:52  heller

	* swank-allegro.lisp:

	(handle-compiler-warning): Handle undefined-functions warnings by
	looking the fromat-arguments of the condition.
	(compiler-undefined-functions-called-warning-p, location-for-warning)
	(handle-undefined-functions-warning): New functions.

2004-12-05 15:49  heller

	* slime.el:

	(slime-global-variable-name-p): Return true for names of constants
	like +foo+.

2004-12-02 18:14  heller

	* ChangeLog:

	[no log message]

2004-12-02 18:11  heller

	* swank.lisp:

	(inspect-for-emacs (symbol)): Handle non-interned symbols.

2004-12-02 18:10  heller

	* slime.el:

	(slime-repl-clear-buffer, slime-repl-clear-output): Fix docstrings.

2004-11-29 18:36  heller

	* ChangeLog:

	[no log message]

2004-11-29 18:35  heller

	* swank-abcl.lisp, swank-allegro.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	(accept-connection): The :external-format argument defaults now to
	:iso-latin-1-unix.

2004-11-29 18:33  heller

	* swank-lispworks.lisp:

	(list-callers-internal): Return the function if dspec:object-dspec
	returns nil.
	(xref-results): Previously, functions for which
	dspec:dspec-definition-locations returned nil were ignored.
	Include them with a unknown source-location.

	(accept-connection): Add default for external-format.

2004-11-29 18:31  heller

	* swank.lisp:

	(macro-indentation): Call clean-arglist.

2004-11-29 18:31  heller

	* slime.el:

	(slime-global-variable-name-p): Allow optional "<package-name>:" or
	"<package-name>::".

	(slime-repl-wrap-history): New user variable.
	(slime-repl-history-replace): Implement wrap around.

	(slime-repl-easy-menu): Fix binding for "Next Input".  Reported by
	Surendra Singhi.

2004-11-26 08:06  heller

	* swank-cmucl.lisp:

	(read-into-simple-string): Use #-cmu19 instead of #+cmu18e.

2004-11-25 20:09  heller

	* ChangeLog:

	[no log message]

2004-11-25 20:05  heller

	* swank-sbcl.lisp:

	(%thread-state-slot,  %thread-state): Refactored from thread-status.
	(thread-status): Use it.

	(all-threads): Exclude return zombies.

2004-11-25 20:03  heller

	* swank.lisp:

	(dispatch-loop): Catch errors and close the connection.  It's almost
	impossible to run the debugger inside the control-thread, so let it
	crash instead.  A backtrace would be nice, though.

	(cleanup-connection-threads): Can know be called in the
	control-thread.  Add a check to avoid thread suicide.

	(arglist-to-string): Don't show &whole, &aux and &environment args.
	(clean-arglist): New function.

	(start-swank-server-in-thread): Fix the call to start-server.

2004-11-25 19:58  heller

	* slime.el:

	(slime-indent-and-complete-symbol): Echo the arglist if there's no
	symbol before point.  Don't complete after parens.
	(slime-echo-arglist): Factorized from slime-space.
	(slime-space): Use it.

	(slime-repl-history-replace): Add argument to clear the input at the
	end of the history.

	(slime-net-coding-system): Emacs does funky encoding for
	`raw-text-unix' use `binary' instead.
	(slime-safe-encoding-p): New function.
	(slime-net-send): Use it and don't try to send stuff which can't be
	decoded by Lisp.

	(slime-inferior-lisp-program-history): XEmacs compatibility: declare
	it as a variable.

	(slime-xref-mode): In Emacs 21, set delayed-mode-hooks to nil because
	we don't want to run the lisp-mode-hook.

2004-11-24 21:29  heller

	* ChangeLog:

	[no log message]

2004-11-24 21:26  heller

	* slime.el:

	(slime-net-coding-system): Use find-coding-system in XEmacs.
	coding-system-p means something different here.

2004-11-24 21:02  heller

	* ChangeLog:

	[no log message]

2004-11-24 20:58  heller

	* swank-sbcl.lisp:

	(inspect-for-emacs)[code-component]: Disassemble code-components too.

2004-11-24 20:57  heller

	* swank-backend.lisp:

	(import-swank-mop-symbols): Better error message for the assertion.

2004-11-24 20:55  heller

	* swank-cmucl.lisp:

	(debug-var-value): Return #:invalid or #:unkown instead of :<not-available>.

	(swank-compile-file): Load the fasl file only if load-p is true.

	(inspect-for-emacs, inspect-alien-record, inspect-alien-pointer): Add
	inspector support for some alien types.

2004-11-24 20:52  heller

	* swank.lisp:

	(inspect-for-emacs-list): subseq on improper lists breaks in
	Lispworks. Handle that case better.

2004-11-24 20:50  heller

	* swank-lispworks.lisp:

	(emacs-connected): Set sigint handler only for single threaded
	operation. I.e. when *communication-style* is nil.

2004-11-24 20:49  heller

	* swank-allegro.lisp:

	(set-external-format): New function.  Use LF as eol mark.

	(call-with-compilation-hooks): Trap compiler-notes too.

2004-11-24 20:47  heller

	* slime.el:

	(slime-start-and-load) Use vanilla comint instead of inf-lisp.  Let's
	try that for a while.

	(slime): Ask for the coding system when invoked with C-u C-u.

	(slime-net-coding-system, slime-net-valid-coding-systems): Add some
	alternatives for older Emacsen.

	(slime-find-buffer-package): Skip quotes.  Old code looks sometimes
	like (in-package 'foo).

	(slime-repl-mode-map): Inhibit C-c C-z.  Avoids accidental loading
	inf-lisp.

2004-11-24 04:57  lgorrie

	* ChangeLog:

	[no log message]

2004-11-24 04:56  lgorrie

	* slime.el:

	(slime-repl-mode-map): Add slime-load-file on `C-c C-l' and
	slime-compile-file on `C-c C-k'. This is mostly to override
	unwanted inf-lisp bindings in lisp-mode-map.

2004-11-24 04:52  lgorrie

	* slime.el:

	(slime-load-file): Handle (buffer-file-name) being nil.

2004-11-24 04:51  lgorrie

	* slime.el:

	(slime-repl-mode-map): Add slime-load-file on `C-c C-l'.

2004-11-24 04:05  lgorrie

	* ChangeLog:

	[no log message]

2004-11-24 04:03  lgorrie

	* slime.el:

	(slime-repl-mode-map): Add C-up and C-down to move through history.
	Consistent with comint-mode.

2004-11-20 21:49  heller

	* ChangeLog:

	[no log message]

2004-11-20 21:47  heller

	* swank-sbcl.lisp:

	(make-socket-io-stream): Add #+sb-unicode.

2004-11-20 21:15  heller

	* ChangeLog:

	[no log message]

2004-11-20 21:13  heller

	* swank-sbcl.lisp:

	Fix unbalanced parenthesis.  Patch from Travis Cross.

2004-11-20 13:07  mbaringer

	* ChangeLog:

	[no log message]

2004-11-20 13:06  mbaringer

	* swank-openmcl.lisp:

	(make-stream-interactive): Only add ouptut streams (subclasses of
	ccl:fundamental-output-stream) to ccl::*auto-flush-streams*.

2004-11-19 20:11  heller

	* ChangeLog:

	[no log message]

2004-11-19 20:08  heller

	* swank-cmucl.lisp:

	(accept-connection): Accept external-format argument.

	(inspect-for-emacs): Add CMUCL specific versions.

2004-11-19 20:04  heller

	* swank-abcl.lisp, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp:

	(accept-connection): Accept :external-format as argument.

2004-11-19 20:02  heller

	* swank.lisp:

	(*coding-system*): New variable.
	(start-server): Accept external-format as argument.
	(create-server, create-swank-server, setup-server, serve-connection)
	(open-dedicated-output-stream, create-connection): Ditto.

	(defstruct connection): Add external-format slot.

	(decode-message-length): Use function for new length encoding.
	(decode-message): Use it.
	(encode-message): Use new encoding.

2004-11-19 19:55  heller

	* slime.el:

	(slime-net-coding-system): New variable.  Specifies the coding system
	to use for network communication.  The default is iso-latin-1 and
	should work for all Lisps.  Only a small set of coding systems is
	currently supported.
	(slime-net-valid-coding-systems): New variable.  A list of coding
	systems which may be used.
	(slime-check-coding-system, slime-coding-system-mulibyte-p)
	(slime-coding-system-cl-name): New utility function for coding systems.
	(slime-net-connect, slime-make-net-buffer, slime-open-stream-to-lisp):
	Use it.

	(slime-net-decode-length, slime-net-encode-length): Renamed from
	slime-net-read3 and slime-net-enc3.  The length is now encoded as a 6
	char hex string.

2004-11-19 02:28  heller

	* ChangeLog:

	[no log message]

2004-11-19 02:19  heller

	* swank-sbcl.lisp:

	(thread-status): Decode the thread-state-slot instead of returning ???.

2004-11-19 02:18  heller

	* swank-allegro.lisp:

	(swank-mop:slot-definition-documentation): ACL 7 says documentation
	should have 2 args. So, pass t as second argument.

	(fspec-primary-name): Recurse until we have a symbol.

	(count-cr): Convert file-offsets to match Emacs' eol-convetions.

	(find-definition-in-file): Use it.

	(allegro-inspect): New function.  Mostly engineered from ACL's native
	inspector.
	(inspect-for-emacs (t), inspect-for-emacs (function)) Use it.

2004-11-19 02:13  heller

	* swank.lisp:

	(inspect-for-emacs array): Use row-major-aref instead of a displaced
	array.  I that's the same.

	(inspect-for-emacs integer): Ignore errors in decode-universal-time.
	Negative values and in SBCL also small values cannot be decoded.

	(list-threads): Include the thread-id. Useful for SLIME debugging.

2004-11-19 02:08  heller

	* slime.el:

	(slime-insert-xrefs): one-line-ify the label.  From Matthew Danish.

	(slime-list-threads, slime-thread-insert): Show the thread-id.

	(slime-thread-control-mode-map): Remove the binding for the
	no-longer-existent slime-thread-goahead command.

2004-11-18 18:36  mbaringer

	* ChangeLog:

	[no log message]

2004-11-18 18:34  mbaringer

	* swank.lisp:

	(inspect-for-emacs): Fix bug in handling of arrays with fill-pointers.

2004-11-17 16:17  mbaringer

	* swank-openmcl.lisp:

	Typo in defimplementation emacs-connected.

2004-11-16 00:15  heller

	* ChangeLog:

	[no log message]

2004-11-16 00:08  heller

	* swank-abcl.lisp:

	(emacs-connected): Deleted.  The default implementation should be good
	enough.

2004-11-16 00:07  heller

	* swank-sbcl.lisp:

	(emacs-connected): Updated for new interface.

2004-11-16 00:07  heller

	* swank-openmcl.lisp:

	(emacs-connected, make-stream-interactive): Move buffering stuff to
	make-stream-interactive.

2004-11-16 00:05  heller

	* swank-lispworks.lisp:

	(emacs-connected, make-stream-interactive): Move the soft-force-output
	stuff to make-stream-interactive.

	(frame-source-location-for-emacs): Pass the function name of the next
	(newer) frame as a hint to Emacs.  This way we can highlight the call
	site in some cases, instead of the entire defun.

	(frame-location): Renamed from function-name-location.  The argument
	is now a dspec, not only a name. Also include hints for Emacs.

	(lispworks-inspect): Simplified from old code.
	(inspect-for-emacs): Use it for also for simple functions.

2004-11-15 23:59  heller

	* swank-cmucl.lisp:

	(sos/misc :flush-output): There seem to be funny signal safety issues
	if the dedicated output stream is not used.  So, lets first reset the
	buffer index before sending the buffer to the underlying stream.

	(emacs-connected): Install GC hooks to display GC messages in the echo
	area.

2004-11-15 23:48  heller

	* swank.lisp:

	(defstruct connection): Add new slot: communication-style for
	convenience.
	(create-connection): Initialize the new slot.
	(connection-info): Send the communication-style to Emacs.
	(install-fd-handler, simple-serve-requests): Sending
	:use-sigint-for-interrupt is no longer necessary.

	(notify-backend-of-connection): Don't pass the output stream to the backend.

2004-11-15 23:45  heller

	* swank-backend.lisp:

	(emacs-connected): Don't pass the stream as argument.
	make-stream-interactive is a better place for setting buffering
	options.

2004-11-15 23:42  heller

	* slime.el:

	(slime-communication-style): New connection variable.
	(slime-use-sigint-for-interrupt): Is no longer a connection local
	variable.  It's derived from the new slime-communication-style.
	(slime-inhibit-pipelining): New user option.
	(slime-background-activities-enabled-p): New predicate to control
	various background activities like autodoc and arglist fetching.
	(slime-space, slime-autodoc-message-ok-p): Use it.

	(slime-search-call-site): Use hints provided to search a call-site in
	a defun.  Useful for the show-frame-source command.
	(slime-goto-source-location): Use it.

	The REPL commands ,quit and ,sayoonara are now distinct.  Previously
	Quit killed all Lisps an all buffers.  The Quit command kills only the
	current Lisp.
	(slime-quit-lisp): New function.
	(repl-command quit): Use it. Don't delete all buffers.
	(repl-command sayoonara): No longer an alias for ,quit.
	(slime-connection-list-mode-map): Bind C-k to slime-quit-lisp.

	(slime-quit): Deleted, as it was broken.  May come back later.

	(slime-inspector-label-face, slime-inspector-value-face)
	(slime-inspector-action-face, slime-reader-conditional-face): Provide
	better defaults for Emacsen which don't support :inherited faces.

2004-11-11 23:30  heller

	* ChangeLog:

	[no log message]

2004-11-11 23:27  heller

	* slime.el:

	(slime-reader-conditional-face): New face.

2004-11-11 23:20  heller

	* slime.el:

	(slime-activate-font-lock-magic): Add support XEmacs.  From Raymond Toy.

2004-11-09 23:58  mbaringer

	* ChangeLog:

	[no log message]

2004-11-09 23:58  mbaringer

	* swank-backend.lisp:

	(definterface): Eliminate unused variable received-args.
	(emacs-connected, make-stream-interactive, condition-references,
	condition-extras, buffer-first-change): Add (declare (ignore X)) for
	unused arguments in default implementations.
	(inspect-for-emacs): Remove (declare (ignore)) for inexistent variable
	inspection-mode. Added T qualifiers in method arguments.

2004-11-09 23:57  mbaringer

	* swank-openmcl.lisp:

	(inspect-for-emacs): Use definterface so SLIME knows we implement
	this.
	(arglist function): Use ccl:arglist, not ccl::arglist-from-map.
	(inspect-for-emacs): Added support for inspecting the uvector
	objects under lisp datums.

2004-11-09 13:15  asimon

	* slime.el:

	call slime-start-lisp in ,restart-inferior-lisp with the right number of args

2004-11-09 11:28  heller

	* ChangeLog:

	[no log message]

2004-11-09 11:27  heller

	* swank.lisp:

	(features-for-emacs): New function to avoid keyword/string confusion.
	Case doesn't matter since Emacs will downcase them anyway.
	(connection-info, sync-features-to-emacs): Use it.  Should fix
	highlighting bug reported by Edi Weitz.

2004-11-09 11:23  heller

	* slime.el:

	(slime-eval-feature-conditional): Convert AND, OR, and NOT to
	lowercase keywords.

	(slime-net-read3): Silly optimization: use give char-after the offset
	as argument to avoid save-excursion and forward-char.

2004-11-07 16:07  bdowning

	* ChangeLog, slime.el, swank.lisp:

	* slime.el (slime-fuzzy-explanation): Added line to describe
	flags (:boundp, :fboundp, :macro, etc), which are now reported in
	the fuzzy-completion output.
	(slime-fuzzy-insert-completion-choice): Added flags.
	(slime-fuzzy-choices-buffer): Added flags header.

	* swank.lisp (fuzzy-completions): Changed docstring to describe
	new flags in the completion results.
	(convert-fuzzy-completion-result): New function to marshall the
	results from the completion core into something Emacs is
	expecting.  Added flags.
	(fuzzy-completion-set): Use the above.
	(compute-completion): Removed.
	(score-completion): Cleaned up a little bit.
	(highlight-completion): Use destructive nstring-upcase.

2004-11-01 18:29  heller

	* ChangeLog:

	[no log message]

2004-11-01 18:19  heller

	* swank-backend.lisp:

	(deftype severity): Add read-errors.

2004-11-01 18:18  heller

	* swank-cmucl.lisp:

	(severity-for-emacs): Special case read-errors.

	(read-error-location): Add the offset to the buffer start.

2004-11-01 18:15  heller

	* swank.lisp:

	(assign-index): Avoid linear search.

2004-11-01 17:56  heller

	* slime.el:

	(slime-easy-menu): Add item for slime-update-indentation.  Suggested
	by Lynn Quam.

	(slime-severity-faceslime-show-note-counts)
	(slime-most-severe, slime-choose-overlay-region):  Handle read-errors.

	(slime-show-buffer-position): New function.
	(slime-show-source-location): Use it.

2004-10-30 12:21  heller

	* ChangeLog:

	[no log message]

2004-10-30 12:16  heller

	* swank-source-path-parser.lisp:

	(source-path-stream-position): Bind *read-suppress* only as long as we
	skip over forms.  The last toplevel form in the path is read with
	*read-suppress* = nil because in newer versions of CMUCL and SBCL read
	will return nil if *read-suppress* is t.

2004-10-29 00:19  heller

	* ChangeLog:

	[no log message]

2004-10-29 00:16  heller

	* swank.lisp:

	(inspect-for-emacs[integer]): Fix control string.  Thanks to CSR for
	pointing it out.

2004-10-29 00:14  heller

	* ChangeLog:

	[no log message]

2004-10-29 00:12  heller

	* swank-clisp.lisp:

	Undo previous change.

2004-10-28 23:41  heller

	* ChangeLog:

	[no log message]

2004-10-28 23:39  heller

	* swank-clisp.lisp:

	Add workaround for CLISP's broken control string parser.

2004-10-28 23:37  heller

	* slime.el:

	(slime-kill-all-buffers): More regexp kludges.  From Bill Clementson.

2004-10-28 23:34  heller

	* swank-cmucl.lisp:

	(set-step-breakpoints): Handle breakpoints at single-return points in
	escaped frames better.  Previously we tried to set a breakpoint at the
	current position and consequently was only hit during the next call.

	(inspect-for-emacs)[function]: Call the next method only for
	funcallable instances.

	(profile-report, profile-reset, unprofile-all): We have to use eval
	because the macro expansion depends on the value of *timed-functions*.
	Reported by Chisheng Huang.

2004-10-28 23:28  heller

	* slime.el:

	(slime-dispatch-event): Accept stepping flag.

	(slime-space): Call slime-message in the right buffer, so that
	after-command hooks are added in the right buffer.  Reported by Juho
	Snellman.

	(sldb-setup): Don't query when entering a recursive edit.

	(sldb-exit): Don't kill the buffer if we are in stepping mode.

	(slime-inspector-insert-ispec): New function.
	(slime-open-inspector): Use it.
	(slime-inspector-operate-on-point): Simplified.

	(test interactive-eval): Fix test case.

2004-10-28 23:23  heller

	* swank-backend.lisp:

	(activate-stepping): New function.

2004-10-28 23:21  heller

	* swank.lisp:

	(*sldb-stepping-p*): New variable.  Used to tell emacs that the
	debugger buffer should not be closed even if we unwind.
	(debug-in-emacs): Use it.

	(sldb-step): Moved to the front end.

	(inspector-princ, method-specializers-for-inspect): Simplified.
	(methods-by-applicability): Use a simpler algorithm. I doubt there is
	much difference in practice.

	(inspect-for-emacs)[symbol, function, standard-generic-function]
	[standard-method]: Use less than 80 columns.

	(inspector-call-nth-action): Don't accept &rest args.  Was never used.

2004-10-27 12:59  heller

	* ChangeLog:

	[no log message]

2004-10-27 12:57  heller

	* swank-sbcl.lisp:

	(signal-compiler-condition): Actually delete one of the
	reader-conditionalized forms.

2004-10-26 02:45  heller

	* ChangeLog:

	[no log message]

2004-10-26 02:43  heller

	* cl-indent.el:

	(lisp-prefix-match-indentation): Change default to nil to avoid
	confusion for people who don't care about the issue.

	Add indentation specs for some missing CL symbols.

2004-10-26 02:39  heller

	* ChangeLog:

	[no log message]

2004-10-26 02:35  heller

	* swank-sbcl.lisp:

	(signal-compiler-condition): Remove reader conditionals as the current
	code doesn't work in any SBCL before 0.8.13 anyway.

2004-10-26 02:33  heller

	* swank-source-path-parser.lisp:

	Remove workarounds for SBCL bugs.  The bugs are fixed in the versions
	we support.

2004-10-26 02:32  heller

	* swank-cmucl.lisp:

	(read-error-location, signal-compiler-condition): Handle read-errors.

	(swank-compile-file): Don't load the file if there was an error.

2004-10-26 02:30  heller

	* swank.lisp:

	(define-printer-variables): Handle doc strings properly.
	(*sldb-pprint-dispatch*): Initialize it with the default dispatch
	table.

2004-10-26 02:28  heller

	* slime.el:

	(slime-init-command): New function to send the command to load swank.
	Havering a separate function for the task should make it easier to
	start a Lips with a preloaded swank.
	(slime-maybe-start-lisp): Use it.
	(slime-maybe-start-multiprocessing): Deleted.

	(slime-repl-buffer): Include the name of the implementation.

	(slime-set-default-directory)
	(slime-sync-package-and-default-directory): Translate filenames.

2004-10-25 18:20  mbaringer

	* ChangeLog:

	[no log message]

2004-10-25 18:19  mbaringer

	* swank.lisp:

	(inspect-for-emacs array): Properly deal with arrays without fill
	pointers.
	(inspect-for-emacs function): Show function-lambda-expression when
	available.
	(inspect-for-emacs generic-function): Order generic function's methods
	and show abbreviated docs for methods.
	(abbrev-doc): New function.
	(methods-by-applicability): New function.
	(*gf-method-getter*): New variable.

2004-10-25 18:18  mbaringer

	* swank-openmcl.lisp:

	(specializer-name): New function.
	(who-specializes): Use it.
	(maybe-method-location): Use it.
	(function-source-location): Use it.

2004-10-25 18:17  mbaringer

	* swank-cmucl.lisp:

	(inspect-for-emacs function): Use next method's values and simply add
	cmucl specific details.

2004-10-25 18:17  mbaringer

	* swank-allegro.lisp:

	(inspect-for-emacs): Use excl::external-fn_symdef to get the function
	documentation.

2004-10-25 18:15  mbaringer

	* slime.el:

	(slime-repl-defparameter): Change default value to "*".

2004-10-19 20:59  lgorrie

	* ChangeLog:

	[no log message]

2004-10-19 20:59  lgorrie

	* slime.el:

	slime-show-source-location:
	Use `push-mark' instead of `set-mark-command'.

2004-10-19 20:55  lgorrie

	* ChangeLog:

	[no log message]

2004-10-19 20:54  lgorrie

	* slime.el:

	(slime-show-source-location): Call `set-mark-command' to push the
	source position onto the global mark ring.

2004-10-19 09:04  heller

	* ChangeLog:

	[no log message]

2004-10-19 08:14  heller

	* swank.lisp:

	(define-printer-variables): Allow print-gensym, base and others.
	(printer-variables sldb-print): Include print-gensym, pprint-dispatch,
	base, radix, array, lines.

2004-10-19 07:57  heller

	* swank.lisp:

	(define-printer-variables): NIL is not a valid docstring.  Reported by
	Alain Picard.

2004-10-17 23:51  heller

	* ChangeLog:

	[no log message]

2004-10-17 23:50  heller

	* swank.lisp:

	(printer-variables sldb-print): Ooops. Better use sldb-print as prefix
	than sldb alone.  *sldb-level* was already defined.

2004-10-17 22:09  lgorrie

	* ChangeLog:

	[no log message]

2004-10-17 22:05  lgorrie

	* slime.el:

	(slime-message): Use slime-typeout-frame if available.

2004-10-17 21:17  heller

	* ChangeLog:

	[no log message]

2004-10-17 20:46  heller

	* cl-indent.el:

	Put it under CVS.

2004-10-17 20:27  heller

	* ChangeLog:

	[no log message]

2004-10-17 20:23  heller

	* swank-cmucl.lisp:

	(return-from-frame): Implemented by Jan Rychter.  Requires a recent CMUCL.

	(inspect-for-emacs (code-component)): Disassemble the memory region if
	there's not enough debug info.

2004-10-17 20:10  heller

	* swank.lisp:

	(*sldb-pprint-frames*): Renamed to *sldb-print-pretty*.

	(*sldb-print-level*, *sldb-print-length*, *sldb-print-circle*)
	(*sldb-print-readbly): Group of new variables to customize printing in
	the debugger.  The default values should be safe.

	(define-printer-variables, with-printer-settings): New macros to make
	definig and binding groups printer variables easier.

	(inspect-for-emacs-list): Rewritten. The old version had a bug with
	circular lists, didn't include the position of the element, and always
	showed the full list.  The new version only shows the first 40
	elements.

	(inspect-for-emacs): Minor cleanups.

	(all-qualified-readnames): Removed. It was not needed because
	common-lisp-indent-function strips of any package prefix and downcases
	the symbol anyway.

2004-10-17 19:59  heller

	* slime.el:


	(slime-find-buffer-package-function): New variable to allow
	customization for unusal syntax.

	(slime-maybe-rearrange-inferior-lisp): Removed unused function.

	(slime-set-inferior-process): Non-macro version to make byte-compiler
	happy. Reported by Raymond Wiker.
	(slime-maybe-start-lisp): Use it.

	(slime-sync-package-and-default-directory): Synch the
	default-directory in the REPL buffer too.

	(slime-goto-connection): Close the connection list window.  Suggested
	by Andras Simon.

	(slime-repl-clear-buffer): Place point after the prompt.

	(selector-method ?i): Use slime-process to switch to the right buffer.

	(slime-background-message): Do nothing if the minibuffer is active.

	(slime-indent-and-complete-symbol): Don't indent if we at the same
	line as the prompt.

2004-10-17 19:48  heller

	* swank-sbcl.lisp:

	(find-defintions): Include sundry compiler stuff.  Patch from Thomas Burdick.

2004-10-07 21:33  pseibel

	* ChangeLog, swank.lisp:

	Bind *debugger-hook* instead of setfing it when spawning threads.

2004-10-06 14:39  mbaringer

	* swank.lisp:

	minor inspector cleanups

2004-10-06 11:08  lgorrie

	* ChangeLog:

	[no log message]

2004-10-06 10:59  lgorrie

	* swank.lisp:

	(update-indentation/delta-for-emacs): Configure Emacs indentation
	settings not just for the symbol name but for all package-qualified
	forms of it as well.

2004-10-06 00:18  lgorrie

	* ChangeLog:

	[no log message]

2004-10-06 00:15  lgorrie

	* doc/slime.texi:

	(Credits): Updated the credits list to include more Lisp implementors
	who're also SLIME hackers.

2004-10-05 23:39  lgorrie

	* ChangeLog:

	[no log message]

2004-10-05 23:37  lgorrie

	* swank.lisp:

	(arglist-for-echo-area): Handle errors and return a message.

	(parse-symbol): Recognise an empty package name as the KEYWORD
	package.

2004-10-03 14:56  heller

	* slime.el:

	(slime): Arguments should be optional.

2004-10-03 14:33  heller

	* ChangeLog:

	[no log message]

2004-10-03 14:27  heller

	* swank-clisp.lisp:

	(getpid)[win32]: Use win32:|GetCurrentProcessId|.  From Reini Urban.

2004-10-03 14:25  heller

	* slime.el:

	Reduce dependency on inf-lisp internals. Make it possible to start the
	inferior lisp in a buffer different from "*inferior-lisp*".
	(slime): Parse the command argument explicitly and don't rely on
	`inferior-lisp'.  Don't close all connections, but only the one for
	the inferior lisp buffer we are using.
	(slime-maybe-start-lisp): Take the command and buffer as argument.
	Decide here whether we should just disconnect and reconnect or start a
	new process.
	(slime-start-lisp): Load verbosely.
	(slime-inferior-lisp): New function.  Replaces call to `inferior-lisp'.
	(slime-inferior-connect, slime-start-swank-server): Take the inferior process as argument
	(slime-read-port-and-connect): Set the slime-inferior-process variable
	in the new connection.
	(slime-inferior-process): New connection local variable.
	(slime-process): Use it.
	(slime-restart-inferior-lisp): Don't use inferior lisp stuff.

	(slime-switch-to-output-buffer): Process interactive arguments
	properly.

2004-10-03 14:10  heller

	* swank-loader.lisp:

	(compile-files-if-needed-serially): Load verbosely.

2004-10-01 15:39  heller

	* ChangeLog:

	[no log message]

2004-10-01 15:29  heller

	* slime.el:

	(slime-set-connection-info): Print the words of encouragement here
	after all the other asynchronous initialization.

2004-10-01 15:17  asimon

	* swank-abcl.lisp:

	Redefine BREAK.

2004-10-01 14:18  heller

	* ChangeLog:

	[no log message]

2004-10-01 14:16  heller

	* swank-allegro.lisp:

	(find-fspec-location): excl:source-file can return stuff like
	  (:operator ...); try to handle it.

2004-10-01 14:05  heller

	* swank-cmucl.lisp:

	(code-component-entry-points): Only include entry points with "valid"
	functions names.  This excludes internal lambdas, which have usually
	have usually a string as name, like "defun foo".

2004-10-01 14:02  heller

	* swank.lisp:

	(parse-symbol): Don't use the reader because to avoid interning
	unknown symbols.  The downside is that we no longer handle escaped
	 |symbols| correctly.

2004-10-01 13:59  heller

	* slime.el:

	(slime-set-connection-info): Hide the *inferior-lisp* after we now
	Lisp's pid.

	(slime-find-buffer-package): We need to preserve the case for things
	like (:in-package "foo"), so return "\"foo\"".

2004-09-28 00:39  heller

	* ChangeLog:

	[no log message]

2004-09-28 00:35  heller

	* tree-widget.el:

	Add it to cvs for Emacs 20.

2004-09-28 00:23  heller

	* swank.lisp:

	(mop, mop-helper): Support functions for the class browser.  By Rui
	Patrocnio.

2004-09-28 00:21  heller

	* slime.el:

	(define-slime-dialect): New macro to make invoking different command
	lines easier.

	(slime-process): New function intended to replace all those references
	to the *inferior-lisp* buffer.
	(slime-maybe-start-lisp): Split it up.
	(slime-start-lisp): New function.
	(slime-restart-inferior-lisp): Use the command from the existing
	process to start the new process.

	(slime-browse-classes, slime-browse-xrefs): New commands to browse
	class hierarchies and xref graphs in a tree widget. By Rui Patrocnio.

2004-09-26 19:09  asimon

	* swank-loader.lisp:

	Don't load swank-gray for abcl.

2004-09-26 19:07  asimon

	* swank-abcl.lisp:

	Remove dependence on Gray streams, use abcl's slime streams.

2004-09-24 01:17  lgorrie

	* doc/slime.texi:

	Removed some CVS conflict markers.

2004-09-24 00:24  heller

	* ChangeLog:

	[no log message]

2004-09-24 00:23  heller

	* swank.lisp:

	(load-file-set-package): New function.

2004-09-24 00:22  heller

	* slime.el:

	(slime-start-and-load): Only start SLIME is if it is not running.

2004-09-23 23:39  heller

	* ChangeLog:

	[no log message]

2004-09-23 23:33  heller

	* swank-cmucl.lisp:

	(frame-package): Implemented.

	(inspect-for-emacs): Only include stuff that is actually in those
	stored in the object itself (see objdef.lisp for exact object layout).
	Include disassembly for functions and code components.

2004-09-23 23:30  heller

	* swank.lisp:

	(frame-locals-for-emacs): Bind *print-pretty* to *sldb-pprint-frames*
	to get more compact lines and bind *package* to frame-package to get
	shorter labels for variables.

	(format-values-for-echo-area): Include the hex and octal
	representation for integers.

	(apply-macro-expander, disassemble-symbol): Use the buffer-package for
	reading.

	(inspector-content-for-emacs): Use print-part-to-string so that we see
	cycles in the data structure.
	(inspect-for-emacs): Minor beatifications.

2004-09-23 23:19  heller

	* swank-backend.lisp:

	(frame-package, label-value-line, label-value-line*): New functions.

2004-09-23 23:18  heller

	* slime.el:

	(slime-start-and-load): Take arguments so that the function can be
	called non-interactively.

	(slime-recompile-bytecode): Don't warn about uses of cl-functions.

	(slime-reset): Kill all sldb buffers.

	(slime-goto-location-position): Fix syntax for Emacs 20.

	(sldb-mode-map): Add C-c C-d bindings.

	(slime-open-inspector): Insert the type in the second line so that we
	can make longer titles, e.g we should include the princed version of
	the inspected object.

2004-09-21 01:42  asimon

	* swank-abcl.lisp:

	Redefine xp::decode-stream-arg

2004-09-20 15:30  asimon

	* swank-abcl.lisp:

	swank-mop & inspector

2004-09-19 10:04  heller

	* ChangeLog:

	[no log message]

2004-09-19 09:57  heller

	* swank.lisp:

	(interrupt-worker-thread): Interrupt the repl thread if there is no
	other active thread.

2004-09-19 08:17  heller

	* swank-cmucl.lisp:

	[no log message]

2004-09-19 08:11  heller

	* swank-gray.lisp:

	(stream-read-char): Treat empty strings as end-of-file.

2004-09-19 08:10  heller

	* swank-cmucl.lisp:

	(sis/in): Treat empty strings as end-of-file.

	(map-allocated-code-components): Inhibit efficiency notes.

	(arglist)[symbol] Delete unreachable code.

	(sldb-break-on-return, sldb-break-at-start): Implement it
	(sldb-step): Some cleanups.

2004-09-19 07:56  heller

	* swank.lisp:

	(thread-for-evaluation): Restart the listener thread if it was dead
	for some reason.

	(debugger-condition-for-emacs): Include "extra" stuff.

	(sldb-break): New entry function.

2004-09-19 07:52  heller

	* swank-backend.lisp:

	(import-swank-mop-symbols): New function. Useful if the implementation
	has most of the mop symbols in the same package.

	(sldb-break-on-return, sldb-break-at-start, condition-extras): New
	functions.

2004-09-19 07:50  heller

	* slime.el:

	(slime-repl-return-string): Allow empty strings.  That's our way to
	send end-of-file.

	(sldb-insert-condition): Add "extra" slot for random thing that don't
	fit nicely somewhere else.
	(sldb-dispatch-extras extras): New function.

	(sldb-show-frame-source): New non-interactive version of sldb-show-source.
	(sldb-show-source): Use it.

	(sldb-break-on-return, sldb-break): New commands.

	(slime-beginning-of-symbol, slime-symbol-end-pos): New functions which
	don't include the character after a hash '#'.
	(slime-symbol-name-at-point): Use them.
	(slime-symbol-start-pos, slime-symbol-end-pos): Ditto.

2004-09-17 15:01  mbaringer

	* ChangeLog:

	[no log message]

2004-09-17 15:01  mbaringer

	* doc/slime.texi:

	Update inspector documentation.

2004-09-17 14:52  mbaringer

	* swank.lisp:

	Don't print "Documentation:" if none is available; add support for
	classes specializer-direct-methods; deal with eql-specializers in
	methods.
	(inspector-princ): New function.
	(method-specializers-for-inspect): New function.
	(method-for-inspect-value): New function.
	(inspect-for-emacs): Use inspector-princ instead of princ-to-string.

2004-09-17 14:51  mbaringer

	* swank-sbcl.lisp:

	(swank-mop): Export eql-specializer, eql-specializer-object and
	specializer-direct-methods from swank-mop.
	(inspect-for-emacs): Fix typo in ignore declaration.

2004-09-17 14:51  mbaringer

	* swank-openmcl.lisp:

	(swank-mop): Export eql-specializer, eql-specializer-object and
	specializer-direct-methods from swank-mop.

2004-09-17 14:50  mbaringer

	* swank-lispworks.lisp:

	(swank-mop): Export specializer-direct-methods.
	(eql-specializer): Implement.
	(eql-specializer-object): Implement.

2004-09-17 14:50  mbaringer

	* swank-cmucl.lisp:

	(swank-mop): Export eql-specializer, eql-specializer-object and
	specializer-direct-methods from swank-mop.
	(inspect-for-emacs): Thinko fix.

2004-09-17 14:49  mbaringer

	* swank-backend.lisp:

	Require eql-specializer, eql-specializer-object and
	specializer-direct-methods in swank-mop package.

2004-09-17 14:48  mbaringer

	* swank-allegro.lisp, swank-clisp.lisp:

	Export eql-specializer, eql-specializer-object and
	specializer-direct-methods from swank-mop.

2004-09-16 18:38  mbaringer

	* swank-clisp.lisp:

	[no log message]

2004-09-16 17:58  mbaringer

	* ChangeLog:

	[no log message]

2004-09-16 17:58  mbaringer

	* swank-clisp.lisp:

	(swank-mop, inspect-for-emacs): Only define the CLOS parts of the
	inspector if the underlying lisp provides the required
	functionality. If not enough MOP is present to implement the inspector
	then we define some very simple replacement methods.

2004-09-16 17:55  mbaringer

	* ChangeLog:

	my name is "Marco Baringer", not "macro".

2004-09-16 14:19  mbaringer

	* ChangeLog:

	[no log message]

2004-09-16 14:18  mbaringer

	* swank-clisp.lisp:

	(swank-mop): Implement the MOP compatability package.
	(inspectod-for-emacs): Update for new inspection API.

2004-09-16 13:40  mbaringer

	* swank-allegro.lisp, swank.lisp:

	It's -> Its

2004-09-15 21:00  aruttenberg

	* ChangeLog:

	[no log message]

2004-09-15 20:59  aruttenberg

	* swank-openmcl.lisp:

	swank-openmcl: typo in who-references. Fix frame-var-value

2004-09-15 19:37  mbaringer

	* ChangeLog:

	[no log message]

2004-09-15 19:33  mbaringer

	* swank-cmucl.lisp:

	(inspect-for-emacs): Insert function object's documentation when it's
	available.

2004-09-15 19:31  mbaringer

	* swank-sbcl.lisp:

	(inspect-for-emacs): Insert function object's
	documentation when it's available.

2004-09-15 19:29  mbaringer

	* swank.lisp:

	(inspect-for-emacs): Add function and compiler-macro
	documentation when inspecting symbols. View the truename of
	logical pathnames where they exist. Fix typos in package
	inspector (fix by Torsten Poulin <torsten@diku.dk>).

2004-09-15 19:26  mbaringer

	* slime.el:

	(slime-inspector-label-face, slime-inspector-value-face,
	slime-inspector-action-face, slime-inspector-type-face): These faces
	now inherit from similar font-lock-<whatever> faces.
	(slime-open-inspector): Use slime-inspector-value-face for values.

2004-09-15 13:29  lgorrie

	* ChangeLog:

	[no log message]

2004-09-15 13:29  lgorrie

	* hyperspec.el:

	Fixed syntax error.

2004-09-15 13:29  lgorrie

	* .cvsignore:

	Added *.elc

2004-09-15 10:56  lgorrie

	* ChangeLog:

	[no log message]

2004-09-15 10:54  lgorrie

	* swank.lisp:

	(cleanp-connection-threads): Kill all Swank threads for a connction
	when it terminates.

2004-09-15 00:42  asimon

	* swank-abcl.lisp:

	Inspector for functions.

2004-09-14 23:35  mbaringer

	* ChangeLog:

	[no log message]

2004-09-14 23:24  mbaringer

	* ChangeLog, swank-allegro.lisp:

	2004-09-14  Thomas Schilling <tjs_ng@yahoo.de>

		* swank-allegro.lisp (inspect-for-emacs): Update for new
		inspect-for-emacs protocol.

2004-09-14 19:37  asimon

	* swank-abcl.lisp:

	Adapt to new inspector api.

2004-09-14 18:01  mbaringer

	* swank-cmucl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, ChangeLog, swank-allegro.lisp,
	  swank-backend.lisp, swank.lisp:

	2004-09-14  Marco Baringer  <mb@bese.it>

		* swank-backend.lisp (inspector, make-default-inspector): Add an
		INSPECTOR object argument to the inspector protocol. This allows
		implementations to provide more information regarding cretain
		objects which can't be, or simply aren't, inspected using the
		generic inspector implementation. also export inspect-for-emacs
		and related symbols from the backend package.
		(make-default-inspector): New function.

		* swank.lisp (inspected-parts): Rename to inspect-for-emacs and
		add an inspector argument. Move inspect-for-emacs to
		swank-backend.lisp, leave only the default implementations.

		* swank-openml.lisp, swank-sbcl.lisp, swank-allegro.lisp,
		swank-cmucl.lisp, swank-lispworks.lisp (inspected-parts): Rename
		and change argument list. Many of the inspected-parts methods were
		being clobbered by the inspected-parts in swank.lisp, now that
		they're being used the return values have been updated for the new
		inspect-for-emacs API.

2004-09-14 14:17  asimon

	* swank-abcl.lisp:

	More dummies for swank-mop.

2004-09-14 13:57  asimon

	* swank.lisp:

	(:newline) before the property list (now really!)

2004-09-14 13:41  asimon

	* swank.lisp:

	(:newline) before the property list

2004-09-14 11:15  asimon

	* swank-abcl.lisp:

	arglist

2004-09-14 09:48  mbaringer

	* ChangeLog, swank-allegro.lisp:

	2004-09-14  Thomas Schilling <tjs_ng@yahoo.de>

		* swank-allegro.lisp (inspected-parts): Implement inspector for
		structs.

2004-09-14 01:11  asimon

	* swank-abcl.lisp:

	Minimal swank-mop support just so that slime/abcl can be compiled and loaded.

2004-09-13 23:45  heller

	* ChangeLog:

	[no log message]

2004-09-13 23:36  heller

	* swank.lisp:

	(intern-catch-tag):  New function.
	(read-user-input-from-emacs, take-input): Use it.

	(define-special): Set the documentation for the 'variable not for the
	'symbol.

2004-09-13 21:12  msimmons

	* ChangeLog:

	[no log message]

2004-09-13 21:09  msimmons

	* swank-lispworks.lisp:

	Set up the swank-mop package.
	Implement swank-mop:slot-definition-documentation and function-name.

2004-09-13 18:42  mbaringer

	* ChangeLog, swank-allegro.lisp, swank-backend.lisp,
	  swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	2004-09-13  Marco Baringer  <mb@bese.it>

		* swank.lisp (inspected-parts): Added inspectors for pathnames,
		logical pathnames, standard-objects and numbers (float, ratio,
		integer and complex).

		* swank-backend.lisp: Define import-to-swank-mop.

		* swank-openmcl.lisp, swank-sbcl.lisp, swank-allegro.lisp: Don't
		define the import-to-swank-mop function (now defined in
		swank-backend.lisp).

		* swank-cmucl.lisp (swank-mop, function-name): Implement backend
		for inspector.
		(arglist): Add support for extracting arglists from function
		objects.
		(create-socket): Don't specify the host on PPC.

2004-09-13 10:47  mbaringer

	* ChangeLog:

	Mention that Thomas Schilling implemented the allegro inspector.

2004-09-13 07:39  aruttenberg

	* ChangeLog:

	[no log message]

2004-09-13 07:39  aruttenberg

	* swank-openmcl.lisp:

	        * slime.el slime-goto-location-position: New location specifiers:
		(:method name specializers . qualifiers) all are strings. Looks
		for defxxx name then the qualifiers as words, in order then the
		specializers as words, in order (except for "T", which is
		optional). Pass the symbols names for specializers and qualifiers
		(no packages). Used by openmcl but might be useful for others
		(:text-anchored <position fixnum> <string> <delta fixnum>)
		Got to position, then search for string, then move delta. To
		support upcoming source recording for openmcl debugging.

		* swank-openmcl multiple changes: - fix support for *sldb-top*
		 (formerly *swank-debugger-stack-frame*) Was not thread safe. Now
		 (application-error), and (interrupt-thread) records the error
		 pointer in a table associated with thread and map-backtrace picks
		 up the appropriate pointer. *process-to-stack-top*,
		(grab-stack-top), (record-stack-top).

	  	 - Other adjustments for changes to multiprocessing: remove
		(force-break-in-listener) no longer necessary since we use
		process-interrupt instead of ccl::*interactive-abort-process*
		Adjust break-in-sldb to do so for swank repl connections
		(abstraction breaking reference to swank::*connections*, but
		nicely via intern)

		 - changes to (find-definitions) (function-source-location),
		 addition of (maybe-method-location) (remove-filename-quoting).  To support
		editing definitions of methods. To fix bug with pathnames with
		quoted characters (like "\\.swank.lisp"). To remove bogus source
		recording of l1-boot-3 in functions that didn't have a source file
		noted.

		 - Implementation of xref functions: (xref-locations) uses xref
		implementation added to openmcl recently. Note that you have to
		(ccl::start-xref) for it to work for other than who-calls, and
		that xref information is not currently persisted in fasl files (I
		will release a patch for this soon) Backend functions (who-binds)
		(who-macroexpands) (who-references) (who-sets)
		(who-calls) (list-callees) (who-specializes)

	  	 - Lifted profile backend functions from swank-clisp which use
		 "metering.lisp"

		 - (openmcl-set-debug-switches) turns on the various variables I.
		know about that have the lisp record extra debugging
		information(including starting xref). I suggest you call
		it. Should it be called by default?

		- (frame-arguments) use builtin ccl::frame-supplied-args since the
		current version was sometimes missing the first argument to the
		function. (I think this was when it was passed by register. If you
		don't want to lose it in the frame locals in backtrace, call
		(openmcl-set-debug-switches) specifically, set
		ccl::*ppc2-compiler-register-save-label* to t

2004-09-13 07:37  aruttenberg

	* swank-loader.lisp:

	load "metering.lisp" in openmcl

2004-09-13 07:36  aruttenberg

	* slime.el:


	slime-goto-location-position: New location specifiers:

	(:method name specializers . qualifiers) all are strings. Looks
	for defxxx name then the qualifiers as words, in order then the
	specializers as words, in order (except for "T", which is
	optional). Pass the symbols names for specializers and qualifiers
	(no packages). Used by openmcl but might be useful for others

	(:text-anchored <position fixnum> <string> <delta fixnum>)
	Got to position, then search for string, then move delta. To
	support upcoming source recording for openmcl debugging.

2004-09-13 07:35  aruttenberg

	* metering.lisp:

	openmcl

2004-09-13 02:14  mbaringer

	* ChangeLog, swank.lisp:

	2004-09-13  Marco Baringer  <mb@bese.it>

		* swank.lisp (inspected-parts): Deal with unfinalized classes in
		standard-class inspector. (Patch from Thomas Schilling)

2004-09-13 01:56  mbaringer

	* ChangeLog, slime.el, swank-allegro.lisp, swank-backend.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp, swank.lisp:

	2004-09-13  Marco Baringer  <mb@bese.it>

		* swank.lisp: New inspector protocol. The lisp side now returns a
		specially formated list of "things" to format which are then
		passed to emacs and rendered in the inspector buffer. Things can
		be either text, recursivly inspectable values, or functions to
		call.
		(inspected-parts): Redefine for new inspector protocol.
		(*inspectee-parts*): Redefine as array.
		(*inspectee-actions*): New array, similar to *inspectee-parts*.
		(reset-inspector): Update for new implementation of
		*inspectee-parts* and new variable *inspectee-actions*.
		(inspector-contents-for-emacs): New function.
		(inspect-object): Update for new inspector protocol.
		(inspector-nth-part): Update for new *inspectee-parts*
		implementation.
		(inspector-call-nth-action): New function.

		* slime.el (slime-inspector-action-face): New face.
		(slime-open-inspector): Adapt to new inspector protocol.
		(slime-inspector-operate-on-point): New function, subsumes
		slime-inspector-inspect-object-at-point.
		(slime-inspector-next-inspectable-object): Skip to next object,
		not just end of current object; wrap around buffer.
		(slime-inspector-mode-map): change bindings of [return] and "\C-m"

		* swank-bacend.lisp (swank-mop): New package. Simply defines all
		the MOP related symbols we need from an implementation.
		(arglist): Update doc string. Provide default implementation.
		(function-name): New backend function.

		* swank-allegro.lisp (swank-mop, slot-definition-documentation):
		Implement.

		* swank-sbcl.lisp (swank-mop, slot-definition-documentation,
		function-name): Implement.

		* swank-openmcl.lisp (swank-mop, function-name): Implement.
		(arglist): Implement for function objects.

2004-09-12 22:48  heller

	* ChangeLog:

	[no log message]

2004-09-12 22:41  heller

	* swank.lisp:

	(compile-file-for-emacs): Use with-buffer-syntax so that SBCL source
	files can be compiled.

2004-09-09 17:57  msimmons

	* ChangeLog:

	[no log message]

2004-09-09 17:57  msimmons

	* swank-loader.lisp:

	(make-swank-pathname): Preserve the host component (important for LispWorks
	on Windows).

2004-09-09 17:04  lgorrie

	* doc/slime.texi:

	s/compliment/complement/

2004-09-08 18:16  msimmons

	* ChangeLog:

	[no log message]

2004-09-08 18:08  msimmons

	* swank-lispworks.lisp:

	Implement call-with-compilation-hooks.

2004-09-04 18:18  heller

	* doc/slime.texi:

	Version 1.0

2004-09-04 00:10  heller

	* NEWS, ChangeLog:

	[no log message]

2004-09-03 23:38  heller

	* slime.el:

	Add some docstrings.

2004-09-03 23:20  heller

	* mkdist.sh:

	Add PROBLEMS file.

2004-09-03 23:13  heller

	* mkdist.sh:

	We're no longer alpha.

2004-09-03 23:12  heller

	* swank.lisp:

	Remove debugging code in comment.

2004-09-03 23:10  heller

	* swank-sbcl.lisp:

	Delete dead code.

2004-09-03 23:10  heller

	* swank-lispworks.lisp:

	(defimplementation): define-dspec-alias seems to more apropriate than
	define-form-parser.

2004-09-03 23:08  heller

	* swank-cmucl.lisp:

	(print-frame): Catch errors during printing.

2004-09-03 23:07  heller

	* README:

	Fix typo.

2004-09-02 08:00  heller

	* ChangeLog:

	[no log message]

2004-09-02 07:58  heller

	* swank-loader.lisp:

	(*lisp-name*): Replace / with - in CMUCL version strings.

2004-09-02 00:50  heller

	* doc/slime.texi, ChangeLog:

	[no log message]

2004-09-02 00:47  heller

	* slime.el:

	(slime-oneliner): Don't use free variable.

	(slime-recenter-window, slime-set-connection-info, slime-pprint-event)
	(slime-compiler-notes-quit, slime-apropos-summary): Likewise.

	(slime-connect): Tidy up handshake `message' call.

	(slime-repl-push-directory): Fix interactive spec.

	(sldb-reference-properties): Take a the reference object as argument
	instead of its parts. Fix callers accordingly.

	(slime-fuzzy-choices-buffer): Remove assignment to unused variable
	slime-fuzzy-target-mtime.

	(slime-ed): Replace call to new-frame with make-frame.

	(sldb-find-buffer): Cleanup.

	(sldb-highlight-sexp): Fix regexp again. It's now almost a line.

2004-09-02 00:41  heller

	* swank.lisp:

	(completion-set, tokenize-symbol-designator, tokenize-completion)
	(fuzzy-completion-set, briefly-describe-symbol-for-emacs): Remove
	simple-base-string declarations.

2004-08-31 00:34  heller

	* ChangeLog:

	[no log message]

2004-08-31 00:28  heller

	* PROBLEMS:

	We require SBCL 0.8.13.  0.8.12 is no longer supported.

2004-08-31 00:26  heller

	* swank-allegro.lisp:

	(find-fspec-location): Catch errors in excl:source-file.

2004-08-31 00:24  heller

	* swank.lisp:

	(send-to-socket-io): Add some ignore declarations.

2004-08-31 00:23  heller

	* slime.el:

	(sldb-fetch-all-frames, sldb-end-of-backtrace,
	sldb-beginning-of-backtrace): New commands.

	(slime-search-suppressed-forms): Change the start regexp so that
	reader conditionals in single line comments, like "; #+foo", are
	ignored.

2004-08-28 04:27  pseibel

	* ChangeLog, slime.el, swank-abcl.lisp, swank-allegro.lisp,
	  swank-backend.lisp, swank-clisp.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Adding directory argument to swank-compile-string.

2004-08-27 22:27  asimon

	* swank-abcl.lisp:

	PRINT-FRAME: PPRINT->PRINT (temporarily)

2004-08-23 11:57  lgorrie

	* ChangeLog:

	[no log message]

2004-08-23 11:51  lgorrie

	* slime.el:

	(slime-pretty-package-name): Fix last cond clause.

2004-08-21 03:38  lgorrie

	* ChangeLog:

	[no log message]

2004-08-21 03:37  lgorrie

	* swank.lisp, doc/slime.texi:

	(*global-debugger*): New configurable to globally install
	swank-debugger-hook as *debugger-hook*. True by default.

2004-08-19 16:53  lgorrie

	* ChangeLog:

	[no log message]

2004-08-19 16:52  lgorrie

	* doc/slime.texi:

	C-c C-c C-a, C-c C-u C-e.
	Thanks Barry Fishman for reporting incorrect indexing.

2004-08-18 23:21  heller

	* ChangeLog:

	[no log message]

2004-08-18 23:19  heller

	* swank-allegro.lisp:

	(swank-compile-string): Use #\; instead of #\: to separate the
	position from the buffer-name.

2004-08-16 23:44  lgorrie

	* ChangeLog:

	[no log message]

2004-08-16 23:43  lgorrie

	* doc/slime.texi:

	Random updates.

2004-08-16 23:41  lgorrie

	* slime.el:

	(slime-space): Use slime-message instead of slime-background-message.
	This displays multi-line arglists.

	(sldb-mode-map): Bind 'C' to sldb-inspect-condition.

2004-08-15 00:10  heller

	* ChangeLog:

	[no log message]

2004-08-15 00:09  heller

	* slime.el:

	(slime-find-buffer-package): Use "%s", not "%S", to avoid ugly escape
	characters, if the package name contains dots.

2004-08-13 23:27  lgorrie

	* ChangeLog:

	[no log message]

2004-08-13 23:23  lgorrie

	* slime.el:

	(sldb-eval-in-frame): Print result to the REPL when a prefix argument
	is given.

	Added pull-down menus for SLDB and the REPL.

2004-08-13 22:32  lgorrie

	* swank-source-path-parser.lisp:

	Removed caching of readtables and the source-map hashtable. Fresh
	creation is ultra-cheap (<1ms).
	The caching didn't handle modifications to readtables and generally
	made me feel uneasy while tracking down an obscure bug in a reader
	macro.

	The cached source-map hashtable also wasn't thread-safe (ho hum).

2004-08-13 18:15  heller

	* ChangeLog:

	[no log message]

2004-08-13 18:14  heller

	* swank.lisp:

	(variable-desc-for-echo-area): Bind some printer variables to limit
	the length of the output.

2004-08-13 17:11  heller

	* ChangeLog:

	[no log message]

2004-08-13 17:09  heller

	* slime.el:

	(slime-merge-notes, slime-tree-for-note): Use the short note message
	for annotation in the source buffer and the long message in the tree
	widget.  Used to be the other way around.

	(sldb-insert-frames): Set the `start-open' property for XEmacs.
	Without `start-open', the `point-entered' property is inherited when
	we insert something before the "--more--".  Reported by Sundar
	Narasimhan.

2004-08-05 17:19  lgorrie

	* ChangeLog:

	[no log message]

2004-08-05 17:18  lgorrie

	* slime.el:

	(slime-thread-attach): Fixed misnamed function call.

2004-08-05 15:34  lgorrie

	* ChangeLog:

	[no log message]

2004-08-05 15:25  lgorrie

	* slime.el:

	[no log message]

2004-08-04 19:18  lgorrie

	* ChangeLog:

	[no log message]

2004-08-04 19:17  lgorrie

	* swank-allegro.lisp:

	(find-fspec-location): Include the type of the definition in the
	designator sent to Emacs.

2004-08-04 18:28  lgorrie

	* ChangeLog:

	[no log message]

2004-08-04 18:18  lgorrie

	* swank-allegro.lisp:

	(find-fspec-location): Fixed to work for more types of definition than
	just functions. So M-. now works for e.g. classes in Allegro. Patch
	from Matthew Danish.

2004-08-04 12:56  msimmons

	* ChangeLog, swank-lispworks.lisp:

	(frame-actual-args): Correct syntax for handler-case.

2004-08-04 08:23  heller

	* ChangeLog, doc/slime.texi:

	[no log message]

2004-08-04 08:21  heller

	* slime.el:

	(slime-mode-map, slime-repl-mode-map, slime-repl-read-mode-map):
	Remove the bind for C-c C-g.  C-c C-b is now the default interrupt
	key.

	(slime-list-repl-short-cuts): Don't trash the shortcut-table: copy it
	before sorting.  (Thanks to Mark Simpson.)

2004-08-03 15:34  heller

	* PROBLEMS:

	Mention mp:*default-process-quantum* for Allegro.

2004-08-03 15:33  heller

	* NEWS:

	The logic for slime-conservative-indentation is inverted.

2004-08-03 14:15  asimon

	* swank-abcl.lisp:

	Minor cleanup.

2004-08-03 09:02  lgorrie

	* doc/slime.texi:

	s/alpha/beta/

2004-08-03 08:38  lgorrie

	* NEWS, PROBLEMS:

	[no log message]

2004-08-02 07:27  lgorrie

	* ChangeLog:

	[no log message]

2004-08-02 07:26  lgorrie

	* slime.el:

	(slime-connect): Shorten the welcome message by leaving out the port
	number (which is displayed in the REPL anyway). This avoids
	line-wrapping some messages of encouragement.

	(slime-current-package): Deal with narrowing.

2004-08-02 07:25  lgorrie

	* swank.lisp:

	(with-buffer-syntax): Don't bind *readtable* to *buffer-readtable* if
	they are already EQ. When we shadow this binding the user can't assign
	*readtable* from the REPL so it's best avoided when possible.

2004-08-02 07:23  lgorrie

	* swank-allegro.lisp:

	Removed fwrapper-based code for inheriting "swankiness" to newly
	spawned threads. This was fighting the system and not the right thing.

2004-08-01 08:46  heller

	* ChangeLog:

	[no log message]

2004-08-01 08:44  heller

	* swank-allegro.lisp:

	(swank-compile-string): Use a temporary file and set
	excl::*source-pathname* manually.  This way we can find the source
	buffer of functions compiled with C-c C-c.

	(call-with-temp-file, compile-from-temp-file): New functions.

	(list-callers, function-callers, in-constants-p)
	(map-function-constants): Implements list callers by groveling through
	all fbound symbols.

2004-08-01 08:26  heller

	* swank-lispworks.lisp:

	Minor refactoring.

2004-07-30 23:44  heller

	* swank-backend.lisp:

	(sldb-condition): Show the original condition in the message.

2004-07-30 23:41  heller

	* ChangeLog:

	[no log message]

2004-07-30 23:39  heller

	* swank-cmucl.lisp:

	(call-with-debugging-environment): Only handle di::unhandled-condition
	not all DI:DEBUG-CONDITIONs.

2004-07-30 23:37  heller

	* slime.el:

	(slime-search-suppressed-forms): Also consider #+ after an opening paren.

2004-07-30 21:32  heller

	* ChangeLog:

	[no log message]

2004-07-30 21:30  heller

	* slime.el:

	(slime-connection): Say "No default connection selected" if there are
	open connections but no default connection.

	(slime-tree-indent-item): Point wasn't updated correctly if the last
	line was empty.  Use insert-before-markers instead of insert to do it
	properly.

	(slime-draw-connection-list): Don't break if there is no default
	connection.

2004-07-30 05:55  lgorrie

	* doc/slime.texi:

	[no log message]

2004-07-30 05:48  lgorrie

	* ChangeLog:

	[no log message]

2004-07-30 05:48  lgorrie

	* slime.el:

	(slime-choose-overlay-region): Tweaked the
	multiline-annotation-avoidance code to work with forms not starting
	with an open-paren, e.g. `(..) or #'(..).

	(slime-update-modeline-package): New configurable. Non-nil (the
	default) means update the Lisp package in the modeline using an idle
	timer.

	(slime-repl-send-input): Make the `slime-repl-old-input' property
	cover the whole input (including newline) so that pressing RET on the
	end of an input line works. Use a unique integer as the value of this
	property to distinguish adjacent inputs.

2004-07-28 23:15  heller

	* ChangeLog:

	[no log message]

2004-07-28 23:13  heller

	* slime.el:

	(slime-expected-failures): Delete unused function.

	(complete-symbol): Test completion of swank::compile-file. LispWorks
	has extra completions for cl::compile-file.

	(arglist): Test arglist of method cl:class-name.  Add enough regexpery
	to pass the test in most implementations.

2004-07-28 23:07  heller

	* swank-sbcl.lisp:

	(list-callers, list-callees): Implemented.

2004-07-28 19:20  heller

	* slime.el:

	(slime-eval-feature-conditional): Treat uppercase operators NOT, AND,
	OR correctly.

	(sldb-find-buffer): Remove killed buffers.

	(sldb-quit): Raise an error if the RPC returns.

2004-07-26 13:50  lgorrie

	* ChangeLog:

	[no log message]

2004-07-26 13:47  lgorrie

	* slime.el:

	(slime-first-change-hook): Add `save-match-data' to avoid breaking
	e.g. query-replace. Also added `save-excursion' just to be safe.

2004-07-26 13:39  lgorrie

	* ChangeLog:

	[no log message]

2004-07-26 13:39  lgorrie

	* README:

	s/setup-slime/slime-setup/ in the .emacs snippet.

2004-07-23 18:36  lgorrie

	* ChangeLog:

	[no log message]

2004-07-23 18:35  lgorrie

	* slime.el:

	(slime-set-state): Show the message in the modeline in the case where
	we aren't connected. Otherwise the "not connected" status is ignored.

	(slime-net-sentinel): Close the connection before changing the status
	message. The old behaviour of this combined with the old behaviour of
	`slime-set-state' could generally cause spurious errors after a
	connection was closed.

2004-07-22 18:55  lgorrie

	* ChangeLog:

	[no log message]

2004-07-22 18:54  lgorrie

	* swank.lisp:

	(carefully-find-package): Return *BUFFER-PACKAGE* if no other package
	can be found. This is reverting a previous change that broke
	completion in buffers with no known package.

2004-07-22 11:39  lgorrie

	* ChangeLog:

	[no log message]

2004-07-22 11:38  lgorrie

	* slime.el:

	(slime-maybe-start-lisp): Check that *inferior-lisp* exists /and/ has
	a running process. Fixes a startup problem if your inferior-lisp has
	died and you want to restart SLIME.

2004-07-21 21:56  pseibel

	* ChangeLog:

	Whoops. Forgot to check this in.

2004-07-21 21:53  pseibel

	* slime.el:

	Putting in fix for Allegro tests. (Thought I checked this in the other day.)

2004-07-21 14:31  lgorrie

	* swank.lisp:

	Added a FIXME comment about unwanted interning in symbol lookup.
	Does bad things to completion of internal symbols like FOO::BAR.

2004-07-21 14:30  lgorrie

	* ChangeLog:

	[no log message]

2004-07-21 14:29  lgorrie

	* slime.el:

	(slime-sync-package-and-default-directory): Sync `default-directory'
	in the REPL buffer too.

	(slime-set-state): Convenience function for setting a connection's
	state-name and updating the modeline if appropriate. This function is
	called in the right places.

	(slime-to-lisp-filename): Use `expand-file-name'.

2004-07-20 20:03  lgorrie

	* slime.el:

	Removed debug printout.

2004-07-20 02:53  lgorrie

	* ChangeLog:

	[no log message]

2004-07-20 02:53  lgorrie

	* slime.el:

	(slime-repl-update-banner): Restore old behaviour of using an
	asynchronous evaluation to setup the REPL. This works around a problem
	I'd reintroduced where the first REPL command uses the wrong keymap.

2004-07-20 02:42  lgorrie

	* ChangeLog:

	[no log message]

2004-07-20 02:42  lgorrie

	* swank-sbcl.lisp:

	(call-with-compilation-hooks): Trap and report errors that cause
	compilation to fail, e.g. read errors.

2004-07-19 16:16  lgorrie

	* ChangeLog:

	[no log message]

2004-07-19 16:15  lgorrie

	* HACKING:

	Updated. Some notes about Emacs features.

2004-07-19 16:09  lgorrie

	* swank.lisp:

	Moved the Evaluation section up above the Debugging section.

2004-07-19 16:00  lgorrie

	* swank-cmucl.lisp:

	Removed some minor debug printouts.

2004-07-19 15:53  lgorrie

	* slime.el:

	Major refactoring.

	Restructured and documented starting at the top of the file and going
	down through the networking protocol.

	Some highlights:

	(slime-rex-continuations): Now connection-local.  Mostly resectioning
	and reordering definitions to try and improve readability.

	(slime-get-temp-buffer-create): New utility function to popup a
	temporary buffer that automatically has a binding on `q' to
	intelligently restore window configuration. Handy, but currently not
	applicable to all of our temporary buffers.

	(slime-with-chosen-connection): Removed this macro. Consequently the
	compilation commands no longer prompt for which connection to use when
	given a prefix argument. `slime-switch-to-output-buffer' still works
	like that, but for other cases I think the connection-list buffer is
	sufficient.

	(slime-eval-async): New arglist: (form &optional cont pkg). If the
	continuation is unspecified then the evaluation result is ignored, and
	if the package is unspecified then (slime-buffer-package) is used.

	(slime-eval): Package arg now defaults to (slime-buffer-package).

	(slime-current-package): New name for (slime-buffer-package). No more
	caching: returns the buffer-local `slime-buffer-package' if set,
	otherwise searches for an `in-package' form.  A consequence of
	non-caching is that the package name doesn't appear in the modeline
	anymore. The simplification is worthwhile in my opinion.

2004-07-17 04:26  lgorrie

	* ChangeLog:

	[no log message]

2004-07-17 04:26  lgorrie

	* slime.el:

	(slime-autodoc): If there is a global variable name at point then show
	its value.

	(slime-autodoc-cache-type): Cache type 'full is no longer supported.

	(slime-background-message): Truncate messages to fit on a single echo
	area line.

2004-07-17 04:26  lgorrie

	* swank.lisp:

	(variable-desc-for-echo-area): New function.

	(arglist-for-echo-area): Return nil if symbol can't be found.

	(close-connection): Close connection before printing error
	message. This avoids it getting lost in closed I/O redirection.

2004-07-17 01:44  lgorrie

	* ChangeLog:

	[no log message]

2004-07-17 01:44  lgorrie

	* doc/slime.texi, README:

	Updated setup instructions.

2004-07-16 23:51  lgorrie

	* slime.el:

	[no log message]

2004-07-16 23:38  lgorrie

	* ChangeLog:

	[no log message]

2004-07-16 23:38  lgorrie

	* swank.lisp:

	(known-to-emacs-p): Removed filtering of def* and with-*. Now handled
	by Emacs.

2004-07-16 23:38  lgorrie

	* slime.el:

	(slime-conservative-indentation): New variable. When true (the
	default) don't auto-learn indentation of def* and with-* macros. Set
	to nil if you want to learn them.  (slime-handle-indentation-update):
	Use it.

2004-07-16 22:57  lgorrie

	* ChangeLog:

	[no log message]

2004-07-16 22:55  lgorrie

	* slime.el:

	(slime-interactive-eval): Changed display of results.  By default the
	result goes to `slime-message', which leads either to echo area,
	temporary buffer, or typeout frame.  With a prefix argument the result
	is printed to the REPL.  This goes for all commands based on
	slime-interactive-eval, e.g.  `C-x C-e' and `C-c M-:'.

2004-07-16 20:12  lgorrie

	* ChangeLog:

	[no log message]

2004-07-16 20:12  lgorrie

	* swank.lisp:

	(print-connection): print-function for connection objects. Dumping the
	indentation-cache was damned ugly with non-truncated lines (e.g. bug
	reports on slime-devel).

2004-07-16 19:56  pseibel

	* ChangeLog, slime.el:

	Fixing tests I broke the other day. Sorry.

2004-07-16 19:12  lgorrie

	* ChangeLog:

	[no log message]

2004-07-16 19:11  lgorrie

	* slime.el:

	(slime-typeout-frame-properties): Removed some properties:
	`name', because it interacts badly with X properties, `left' and
	`top' because they don't put the frame anywhere terribly
	convenient, and (width . 40) because it makes the frame narrower
	than the usual word-wrapping width.

2004-07-16 18:38  lgorrie

	* slime.el:

	(slime-keys): Moved `slime-reindent-defun' from C-M-q to C-cM-q. This
	avoids overriding the standard binding of C-M-q to index-sexp.

2004-07-16 18:12  lgorrie

	* slime.el:

	(slime-setup): New function for installing a lisp-mode-hook. You can
	call this from ~/.emacs to setup SLIME.  Takes a `autodoc' keyword
	argument to enable slime-autodoc-mode. We can add more keywords in
	future.

2004-07-15 07:02  pseibel

	* ChangeLog, slime.el, swank.lisp:

	Trying to restore sanity to SLIME's notion of the lisp package.

2004-07-13 20:42  lgorrie

	* ChangeLog:

	[no log message]

2004-07-13 20:38  lgorrie

	* slime.el:

	From Eric Blood:
	(slime-inspector-next-inspectable-object): New inspector command to
	goto the next inspectable object (slot). Bound to TAB.

2004-07-13 20:14  crhodes

	* ChangeLog, slime.el, swank-backend.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Implement actionable references in *slime-compiler-notes*.  Tested with
	sbcl-0.8.12 and sbcl CVS head -- I hope I haven't broken things for
	non-SBCL users...

	(There are some things in this that I think are suboptimal: they have
	been marked with FIXMEs.  I lack elispfu in sufficient measure to clean
	them up confidently)

2004-07-13 10:08  lgorrie

	* slime.el:

	(slime-restart-inferior-lisp): Renamed shortcut to
	"restart-inferior-lisp" from "restart-lisp". The name better suggests
	what it does: kill *inferior-lisp* and rerun SLIME.

2004-07-12 12:55  lgorrie

	* ChangeLog:

	[no log message]

2004-07-12 12:37  lgorrie

	* slime.el:

	(slime-easy-menu): Added "Apropos all" menu item.

	(slime-restart-lisp): Added `restart-lisp' shortcut. Doesn't do the
	right thing if you have multiple Lisps up.

2004-07-12 12:36  lgorrie

	* swank-loader.lisp:

	[no log message]

2004-07-12 12:35  lgorrie

	* swank.lisp:

	Added some docstrings.

	Rearranged completion code and somewhat SLDB trying to layout
	functions above their subfunctions in a tree-like way.

	(slime-protocol-error): Renamed from slime-read-error.

	(carefully-find-package): Now returns NIL if package can't be
	determined, rather than *BUFFER-PACKAGE*. Correct? I didn't see why it
	should return *BUFFER-PACKAGE*.

	(xref): Find symbol in *BUFFER-PACKAGE*.

2004-07-09 20:09  pseibel

	* ChangeLog, swank.lisp:

	Changing computation of package name used in REPL prompt.

2004-07-09 14:09  crhodes

	* ChangeLog, slime.el:

	Substitute hyphens for spaces in the sbcl manual URL references

2004-07-07 17:10  lgorrie

	* ChangeLog:

	[no log message]

2004-07-07 17:09  lgorrie

	* swank.lisp:

	From Thomas Schilling:
	(arglist-for-insertion): Changed formatting to use
	arglist-to-string. That results in proper cases for
	slime-insert-arglist.

2004-07-07 14:11  lgorrie

	* swank-loader.lisp:

	(*lisp-name*): Include the version number in ACL.

2004-07-07 14:08  lgorrie

	* ChangeLog:

	[no log message]

2004-07-07 14:05  lgorrie

	* slime.el:

	(slime-alistify): Preserve order. This keeps the *compiler-notes*
	right. Pointed out by Christophe Rhodes.

	(slime-repl-update-banner-p): Renamed from slime-reply-..

	(slime-changelog-date): Reintroduced for informational purposes.

	(slime-repl-update-banner): Show ChangeLog date in the animation.

	(slime-space): Do arglist lookup before inserting the space. Otherwise
	we get a funky race condition: entering the space may trigger
	`first-change-hook', which would send an async notification to Lisp,
	which would put us in the 'busy' state and thus we wouldn't lookup the
	arglist! Detective work by Edi Weitz.

	(sldb-prune-initial-frames): More regexp fudgery :-(.

	(read-directory-name): Use `file-name-as-directory' to ensure we have
	the trailing / on the directory name.

	(byte-compile-warnings): Bye-compile slime-alistify. Its inputs can be
	pretty big.

2004-07-04 07:17  lgorrie

	* ChangeLog:

	[no log message]

2004-07-04 05:22  lgorrie

	* ChangeLog:

	[no log message]

2004-07-04 05:22  lgorrie

	* swank-cmucl.lisp:

	(buffer-first-change): Suck the source file into the cache unless
	already present. This is for M-. to increase the chances of our having
	a copy of the sources corresponding with the loaded code. Should help
	with the case where a user edits a file (without recompiling it) and
	then M-.'s for one of its definitions.

2004-07-04 05:21  lgorrie

	* slime.el, swank-backend.lisp, swank.lisp:

	Added a new backend function `buffer-first-change' which is called via
	Emacs's `first-change-hook' in slime-mode buffers. This gives Lisp a
	chance to do something with source files before you change them on
	disk.

2004-07-04 02:36  lgorrie

	* swank-allegro.lisp:

	[no log message]

2004-07-04 02:34  lgorrie

	* swank-allegro.lisp:

	Changed reader conditionals to use fwrappers for #+(version>= 6.2).

2004-07-04 02:21  lgorrie

	* swank-allegro.lisp:

	(make-stream-interactive): Set interactive-stream-p slot on the stream
	to make it auto-flush.

	(*swank-thread*, *inherited-bindings*): New variables.

	(spawn): Bind *swank-thread* to T.

	(make-process/inherit): Fwrapper (advice) for mp:make-process. When
	*swank-thread* is T then make the new thread inherit "sliminess":
	debugger hook, I/O streams, and also *swank-thread* so that its
	children will inherit too.

2004-07-04 02:20  lgorrie

	* swank.lisp:

	(open-streams): Call make-stream-interactive on the redirected io
	streams.

2004-07-04 02:19  lgorrie

	* swank-backend.lisp:

	(make-stream-interactive): This backend function is called with each
	stream that will be used for user-interaction, i.e. the redirected
	stdio streams. Can be used to setup special output-flushing or
	similar.

2004-07-03 02:08  lgorrie

	* ChangeLog:

	[no log message]

2004-07-03 02:06  lgorrie

	* hyperspec.el:

	(common-lisp-hyperspec-section-4.0): Bugfix from Lennart Staflin.

2004-07-03 02:01  lgorrie

	* slime.el:

	(slime-repl-clear-output): Avoid clearing the previous REPL expression
	too. Patch from Andras Simon.

2004-07-03 01:50  lgorrie

	* ChangeLog:

	Oops. ChangeLog included some things hadn't committed yet.

2004-07-03 01:50  lgorrie

	* ChangeLog:

	[no log message]

2004-07-03 01:50  lgorrie

	* swank-backend.lisp:

	(definterface): Don't use NO-APPLICABLE-METHOD for detail
	methods. Instead just define them as regular methods with all argument
	types being T. Defimplementation will then replace them by using the
	same signature. N-A-M was a stupid idea!

2004-07-02 21:09  bdowning

	* ChangeLog, slime.el:

	* slime.el (slime-reindent-defun): Added a check for (boundp
	'slime-repl-input-start-mark) before checking the variable, as
	XEmacs leaves variables unbound when `make-variable-buffer-local'
	is run, while GNU Emacs binds them to NIL.

2004-07-02 20:01  msimmons

	* ChangeLog:

	[no log message]

2004-07-02 11:58  msimmons

	* swank-lispworks.lisp:

	Fix typo in features for LW 4.1 and 4.2.

2004-07-02 05:22  lgorrie

	* esmb.tex:

	Ahem, accidentally checked this file into slime CVS when I only meant
	to put it in RCS here. I had a stray CVS/ directory in ~/misc somehow
	and `C-x v v' picked it up. Funky!

2004-07-02 05:17  lgorrie

	* esmb.tex:

	[no log message]

2004-07-01 08:35  heller

	* ChangeLog:

	[no log message]

2004-07-01 08:33  heller

	* swank-lispworks.lisp:

	(frame-actual-args): Bind *break-on-signals* to nil and special case
	&rest, &optional, and &key.

2004-07-01 01:07  lgorrie

	* ChangeLog:

	[no log message]

2004-07-01 01:07  lgorrie

	* slime.el:

	(sldb-lookup-reference): Preserve case in SBCL node names. Previously
	they were downcased, but the HTML manual's filenames seem to have
	changed.

2004-07-01 00:25  lgorrie

	* doc/slime.texi:

	C-c C-u C-a, C-c C-u C-e

2004-07-01 00:18  lgorrie

	* mkdist.sh:

	Changed version number to 1.0alpha

2004-07-01 00:17  lgorrie

	* NEWS:

	Added security note about the TCP server.
	Added notes for ACL and ABCL.

2004-07-01 00:08  lgorrie

	* doc/slime.texi:

	General updatings for an alpha release.

2004-06-30 23:47  heller

	* ChangeLog:

	[no log message]

2004-06-30 23:45  heller

	* swank-lispworks.lisp:

	(describe-symbol-for-emacs): Include information about setf-functions stuff.

	(emacs-connected): Add a default method to
	defenv-internals:environment-display-debugger.

2004-06-30 23:11  heller

	* ChangeLog:

	[no log message]

2004-06-30 23:09  heller

	* slime.el:

	(slime-display-compilation-output): New customizable variable.

2004-06-30 23:06  heller

	* swank.lisp:

	Minor cleanups.
	(find-symbol-designator, find-symbol-or-lose, case-convert-input):
	Deleted.  Replaced with calls to parse-symbol{-or-lose}.

2004-06-30 22:55  lgorrie

	* slime.el:

	(line-beginning-position, line-end-position): Simple bugfix
	suggested by Richard Klinda.

2004-06-30 20:59  lgorrie

	* slime.el:

	Rolled back some things that I committed by accident.

2004-06-30 20:57  lgorrie

	* ChangeLog:

	[no log message]

2004-06-30 20:54  lgorrie

	* slime.el:

	(slime-read-port-and-connect-to-running-swank)
	(slime-connect, slime-open-stream-to-lisp):
	Replace "localhost" with "127.0.0.1". This is believed to avoid
	unwanted DNS lookups on certain operating systems. The lookups can
	become crippling if the DNS server isn't available.

2004-06-30 18:40  lgorrie

	* ChangeLog:

	[no log message]

2004-06-30 16:10  lgorrie

	* doc/Makefile:

	[no log message]

2004-06-30 15:46  lgorrie

	* ChangeLog:

	[no log message]

2004-06-30 15:45  lgorrie

	* swank-sbcl.lisp:

	(preferred-communication-style): Choose :fd-handler instead of :sigio
	when threads aren't available. A lot of people seem to have had
	problems with :sigio on SBCL.

2004-06-30 15:37  lgorrie

	* ChangeLog:

	[no log message]

2004-06-30 15:26  lgorrie

	* slime.el:

	Backed out the previous change (below). Has bugs and needs more
	thinking.

2004-06-30 09:24  mbaringer

	* ChangeLog, slime.el:

	2004-06-29  Thomas Burdick  <tfb@OCF.Berkeley.EDU>

		* slime.el: Indicate when the REPL is in the debugger's context
		(slime-debug-level): new connection var
		(slime-dispatch-event): set slime-debug-level to match *sldb-level*
		(slime-repl-insert-prompt): show debug-level in prompt when > 0

2004-06-30 08:59  heller

	* NEWS:

	[no log message]

2004-06-30 00:12  lgorrie

	* mkdist.sh:

	Added NEWS file.

2004-06-30 00:07  lgorrie

	* ChangeLog:

	[no log message]

2004-06-30 00:06  lgorrie

	* NEWS:

	Added preliminary release notes for alpha-1.

2004-06-29 22:18  lgorrie

	* mkdist.sh:

	New shell script for creating a tarball for distribution.

2004-06-29 22:17  lgorrie

	* ChangeLog:

	[no log message]

2004-06-29 22:17  lgorrie

	* slime.el:

	From Bill Clementson:
	(slime-who-map): Add extra bindings for the XREF commands as with the
	documentation commands. Now `C-c C-w C-c' is `slime-who-calls' in
	addition to `C-c C-w c', etc.

2004-06-29 19:48  lgorrie

	* ChangeLog:

	[no log message]

2004-06-29 19:46  lgorrie

	* swank.lisp:

	(open-streams): Renamed the restart around reads from the user-input
	stream from ABORT to ABORT-READ. Invoking this restart seems kinda
	dangerous, so better for 'a' in SLDB not to do so.

2004-06-29 19:39  lgorrie

	* slime.el:

	(sldb-prune-initial-frames): Tweaked regexp for matching SWANK's own
	stack frames for effectiveness in SBCL.

	(slime-keys): Shadow remaining inf-lisp keys (C-c C-a, C-c C-v) with a
	null `slime-nop' command until we put them to a real use.

2004-06-29 12:53  lgorrie

	* ChangeLog:

	[no log message]

2004-06-29 12:48  lgorrie

	* ChangeLog:

	[no log message]

2004-06-29 10:12  mbaringer

	* ChangeLog, slime.el, swank.lisp:

	2004-06-28  Thomas F. Burdick  <tfb@OCF.Berkeley.EDU>
		* swank.lisp (inspector-nth-part):
		* slime.el (slime-inspector-copy-down, slime-inspector-mode-map):
		Added copy-down command (M-RET) to easily move an object from the
		inspector to the repl.

2004-06-28 23:05  lgorrie

	* ChangeLog:

	[no log message]

2004-06-28 23:05  lgorrie

	* slime.el:

	(slime-doc-map): New keymap for documentation commands. These all use
	the `C-c C-d' prefix, followed by:

	  a - apropos
	  p - apropos-package
	  z - apropos-all
	  d - describe-symbol
	  f - describe-function
	  h - hyperspec lookup
	  ~ - hyperspec lookup of a format character

	The final keystroke is bound both unmodified and with control, so
	both `C-c C-d a' and `C-c C-d C-a' will make an apropos
	search. The exception is hyperspec-lookup, because it's nice to
	leave C-h unbound so that `C-c C-d C-h' will summarise the
	documentation bindings.

2004-06-28 19:46  asimon

	* swank-abcl.lisp:

	use thread names

2004-06-28 18:09  heller

	* ChangeLog:

	[no log message]

2004-06-28 18:03  heller

	* swank-allegro.lisp:

	(nth-frame): Skip frames where frame-visible-p is false.

2004-06-28 18:02  heller

	* slime.el:

	(slime-buffer-package): Return the cached package if find anything
	sensible as we did earlier versions.  The Lisp side will now fall back
	to an existing package if the one supplied by Emacs doesn't exist.
	Using the cached version is also necessary for some commands in the
	apropos buffer.

	(sldb-insert-frame): Set the default-action property; now RET toggles
	the details on frame lines.

	(sldb-toggle-details): Preserve the current column.

	(slime-inspector-buffer, slime-saved-window-config)
	(slime-inspector-quit): Save and the window configuration.

	(slime-highlight-suppressed-forms, slime-search-suppressed-forms):
	Display expressions with reader conditionals (#+/#-) where the test is
	false in font-lock-comment-face.  No implemented for XEmacs.

	(repl-return): New test.

2004-06-28 14:43  lgorrie

	* ChangeLog:

	[no log message]

2004-06-28 14:42  lgorrie

	* swank-allegro.lisp:

	(compute-backtrace): Only include frames satisfying
	`debugger:frame-visible-p'. I did this as a lame workaround for a
	problem where `output-frame' was segfaulting on certain frames, and
	those frames happened not to be visible-p. I don't know if it really
	fixes anything.

2004-06-28 14:40  lgorrie

	* slime.el:

	Events in the *slime-events* buffer are now exact on-the-wire
	messages, without including e.g. Elisp continuation functions. This is
	easier for debugging I think.

2004-06-28 13:06  lgorrie

	* ChangeLog:

	[no log message]

2004-06-28 13:05  lgorrie

	* hyperspec.el:

	(common-lisp-hyperspec-format): This command now works at the end of
	the buffer, fixed `char-after' usage as suggested by Johan Bockgrd.

2004-06-28 12:22  lgorrie

	* ChangeLog:

	[no log message]

2004-06-28 12:22  lgorrie

	* slime.el:

	From Christohpe Rhodes:
	Support for new SBCL reference types:
	  :ansi-cl :glossary
	  :ansi-cl :issue

2004-06-28 12:19  lgorrie

	* hyperspec.el:

	From Christohpe Rhodes:
	Add support for issue cross-reference lookups, strongly inspired by
	hyperspec symbol lookup.

	(common-lisp-hyperspec-issuex-table,
	 common-lisp-hyperspec-issuex-symbols): new variables
	(common-lisp-issuex): new function

	Add support for glossary lookups.
	(common-lisp-glossary-fun): new variable
	(common-lisp-glossary-4.0, common-lisp-glossary-6.0): new functions

2004-06-27 19:10  asimon

	* swank-abcl.lisp:

	find-thread: :test => :key

2004-06-27 17:23  heller

	* ChangeLog:

	[no log message]

2004-06-27 17:08  heller

	* ChangeLog:

	[no log message]

2004-06-27 17:05  heller

	* doc/slime.texi:

	Remove macros from chapter and section headings to avoid texi2pdf breakage.

2004-06-27 17:04  heller

	* slime.el:

	[no log message]

2004-06-27 17:03  heller

	* swank-source-path-parser.lisp:

	(cmucl-style-get-macro-character): Add tests for #\space and #\\.
	(Suggested by Christophe Rhodes.)

2004-06-27 17:00  heller

	* swank-abcl.lisp, swank-allegro.lisp, swank-backend.lisp,
	  swank-cmucl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp:

	(thread-id, find-thread): New backend function.

2004-06-27 16:58  heller

	* swank.lisp:

	(dispatch-event): Quitting a from the debugger was seriously broken.
	Fix it.  Move generation of thread ids to the backends.

2004-06-27 14:18  asimon

	* swank-abcl.lisp:


	Use ABCL's new LW-style mailbox for send/receive.

2004-06-27 13:07  asimon

	* swank-abcl.lisp:

	Fix thread-name/thread-status.

2004-06-27 08:57  heller

	* slime.el:

	(sldb-get-buffer): Add support for multiple sldb buffers for different
	threads.  Update callers accordingly.
	(sldb-find-buffer, sldb-get-default-buffer): New functions.

2004-06-25 12:13  heller

	* ChangeLog:

	[no log message]

2004-06-25 10:07  heller

	* ChangeLog:

	[no log message]

2004-06-25 10:06  heller

	* swank.lisp:

	(inspect-frame-var): New function.

2004-06-25 10:06  heller

	* swank-sbcl.lisp:

	(call-with-syntax-hooks, with-debootstrapping): Preserve compatability
	with fairly recent SBCLs by checking for the presense of the
	debootstrapping facilities at macroexpansion time.

2004-06-25 10:05  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-lispworks.lisp:

	(frame-var-value): New backend function.

2004-06-25 10:04  heller

	* slime.el:

	(sldb-insert-condition): Initialize sldb-default-action so that
	pressing RET inspects the condition.

	(slime-repl-insert-prompt): Set defun-promp-regexp.
	beginning-of-defun can be very slow in the repl buffer if the
	defun-promp-regexp is not set.

	(sldb-insert-locals): Initialize sldb-default-action.

	(sldb-var-number-at-point, sldb-inspect-var): New function.

2004-06-24 15:01  lgorrie

	* ChangeLog:

	[no log message]

2004-06-24 15:00  lgorrie

	* hyperspec.el:

	(common-lisp-hyperspec-6.0): generalize to work with section numbers
	lower than 10.

2004-06-24 14:57  lgorrie

	* slime.el:

	(sldb-format-reference-node): fix for when `what' is a list.

2004-06-24 06:32  bdowning

	* ChangeLog, slime.el:

	* slime.el (slime-repl-send-input): Fixed a subtle difference in
	sending input to the Lisp introduced in 1.316.  The newline was
	not getting sent, resulting in the Lisp constantly asking for more
	read data.  I believe the code has been adjusted to behave the
	same as 1.315 with regard to sending newlines.
	Also adjusted the `slime-repl-old-input' text property to end just
	before the newline, not just after.  This causes a gap between
	inputs even if no Lisp output appeared in between, so that putting
	point on an old line and hitting RET will only call up that line,
	and hitting RET in the middle of the current line will send it and
	not bring up a confusing combination of all previous input.
	Many thanks to Loyd Fueston for pinpointing the date and exact
	patch for when this problem was introduced.

2004-06-24 00:50  bdowning

	* ChangeLog, slime.el, doc/slime.texi:

	* slime.el: Re-added most of Luke's patches from yesterday.  It
	has the shortened names, uses markers instead of stored `(point)'
	values, and `slime-fuzzy-complete-symbol' is an option for
	`slime-complete-symbol-function'.
	It still string compares the target buffer instead of using
	`(buffer-modified-tick)'.
	I left the `C-c M-i' keybinding in, as it allows use of the
	regular completion as well.  If there's an objection to this it
	can be removed.
	`window-configuration-change-hook' is used if the variable is
	present, and ignored it not.  This neatly sidesteps its absence in
	XEmacs while not killing the functionality for GNU Emacs.

	* doc/slime.texi: Added a command entry and short description for
	`C-c M-I, slime-fuzzy-complete-symbol', and added its existence to
	the `slime-complete-symbol-function' documentation.

2004-06-23 11:59  asimon

	* doc/slime.texi:

	Thanks to Peter Graves.

2004-06-22 19:04  lgorrie

	* doc/slime.texi:

	Noted ABCL support.

2004-06-22 19:02  lgorrie

	* ChangeLog:

	[no log message]

2004-06-22 19:02  lgorrie

	* slime.el:

	Backed out all of my changes to fuzzy completion. I was too hasty and
	didn't do good things. Now it's back in pristine state from Brian's
	patch -- use `C-c M-i' to fuzzy-complete.

2004-06-22 16:40  lgorrie

	* ChangeLog:

	[no log message]

2004-06-22 16:36  lgorrie

	* ChangeLog:

	[no log message]

2004-06-22 16:06  lgorrie

	* doc/Makefile:

	(contributors.texi): The contributors list in the manual is now sorted
	by most number of ChangeLog entries. Patch from Michael Weber.

2004-06-22 16:06  lgorrie

	* slime.el:

	Some minor hacking to fuzzy completion:
	Use the shorter `slime-fuzzy-' symbol prefix.
	Use markers instead of numbers to remember where the completion is
	being done. This way they are self-updating.
	Use `buffer-modified-tick' to detect modifications instead of text
	comparison.
	Always restore window configuration when a completion is
	chosen. For this completion style I think this will work okay
	[famous last words], and the existing code wasn't
	XEmacs-compatible for want of window-configuration-change-hook.
	Now there is no separate keybinding for fuzzy completion, but it's
	included as a customize option for `slime-complete-symbol-function'

2004-06-22 16:04  lgorrie

	* doc/slime.texi:

	[no log message]

2004-06-22 10:05  lgorrie

	* slime.el:

	Use a shorter prefix: `slime-fuzzy-' instead of `slime-fuzzy-completion-'

2004-06-22 10:02  lgorrie

	* ChangeLog:

	[no log message]

2004-06-22 10:02  lgorrie

	* slime.el, swank.lisp:

	Added "fuzzy completion" by Brian Downing.

2004-06-22 08:25  lgorrie

	* ChangeLog:

	[no log message]

2004-06-22 08:24  lgorrie

	* swank-allegro.lisp, swank.lisp:

	Use `unbound-slot-filler' for unbound inspector slots.

2004-06-22 08:24  lgorrie

	* swank-backend.lisp:

	(unbound-slot-filler): New structure for representing an unbound slot
	in the inspector functions.

2004-06-22 07:53  lgorrie

	* ChangeLog:

	[no log message]

2004-06-22 07:52  lgorrie

	* swank.lisp:

	(prefixed-var): Intern *REAL-STANDARD-INPUT* etc in the SWANK package
	instead of the COMMON-LISP package.

2004-06-22 07:50  lgorrie

	* slime.el:

	(slime-output-filter): Choose connection based on process-buffer, not
	current buffer. This fixes a bug where output from multiple Lisp
	sessions could get mixed up.

	(slime-kill-all-buffers): Include all *inferior-lisp*[<n>] buffers.

	Split the customize settings into more subgroups.

2004-06-21 09:29  lgorrie

	* swank.lisp:

	Doc fix.

2004-06-21 08:27  lgorrie

	* ChangeLog:

	[no log message]

2004-06-21 08:26  lgorrie

	* swank.lisp:

	Pass user-io to `emacs-connected', not socket-io.

2004-06-21 08:15  lgorrie

	* ChangeLog:

	[no log message]

2004-06-21 08:14  lgorrie

	* swank-backend.lisp:

	Removed hook mechanism (now in swank.lisp).

2004-06-21 08:13  lgorrie

	* swank-loader.lisp:

	(*lisp-name*): Add version number to Lispwork's fasl directory. We
	should do this for ACL and OpenMCL too, but for some reason my ACL 5.0
	gets an error when trying to create a directory with a version number
	in its name, and I don't have OpenMCL to test with.

2004-06-21 08:12  lgorrie

	* swank.lisp:

	(add-hook, run-hook): Moved the hook mechanism and all hooks here
	(from swank-backend.lisp). There is no compelling use for backends
	yet, I want to pass swank.lisp-internal data structures in the
	existing hooks.

	(notify-backend-of-connection): Call `emacs-connected' with the
	socket-io stream for its argument. Should fix previous breakage where
	the connection structure was passed instead.

	(*globally-redirect-io*): New configurable: when true the standard
	streams are globally redirected to Emacs. That way even
	e.g. SERVE-EVENT handlers will print to Emacs. Currently does not
	handle standard input -- that is trickier since the Lisp's native REPL
	can be trying to read from that.

2004-06-21 05:16  lgorrie

	* ChangeLog:

	[no log message]

2004-06-21 05:15  lgorrie

	* slime.el:

	(slime-repl-return): Make sure the newline goes at the end of the
	input, not at point.

	(slime-complete-restore-window-configuration): Wrap the
	`set-window-configuration' call in (run-at-time 0 ..). XEmacs does not
	allow us to set the window configuration from inside pre-command-hook.

2004-06-21 03:29  lgorrie

	* slime.el:

	(slime-complete-maybe-restore-window-configuration):
	Only restore the window configuration if the completions buffer is
	currently visible in the window that we popped it up in.

	(slime-complete-maybe-save-window-configuration): Don't save the
	window configuration if the completions buffer is already visible.

2004-06-20 23:39  heller

	* ChangeLog:

	[no log message]

2004-06-20 23:37  heller

	* swank-sbcl.lisp:

	(*trap-load-time-warnings*): New variable.  If it is true, conditions,
	most notably redefinition warnings, signalled at load time are not
	trapped.

	(swank-compile-file, swank-compile-string): Use it.

2004-06-20 23:33  heller

	* swank.lisp:

	(parse-symbol): Allow strings and symbols as package designators.

2004-06-20 23:31  heller

	* slime.el:

	(slime-find-buffer-package): Return the printed representation of the
	package designator; until now there was no way to distinguish NIL from
	the package names "NIL".

	(slime-maybe-list-compiler-notes): Fix thinko.

	(break): New test.  Reorganize the test-suite a bit to support
	"expected failures".

2004-06-20 16:39  heller

	* ChangeLog:

	[no log message]

2004-06-20 15:55  heller

	* swank.lisp:

	(guess-buffer-package): Don't signal a continuable error if the
	package doesn't exists; that's too annoying.

2004-06-20 15:51  heller

	* ChangeLog:

	[no log message]

2004-06-20 15:39  heller

	* slime.el:

	Fix outline structure.

2004-06-20 07:48  lgorrie

	* ChangeLog:

	[no log message]

2004-06-20 07:47  lgorrie

	* swank.lisp:

	Added some comments and docstrings.

	(changelog-date): Removed unneeded function.
	(connection-info): No more version field in result.
	(package-external-symbols): Removed unused function.
	(serve-connection): Call *new-connection-hook*.
	(eval-for-emacs): Call *pre-reply-hook*.
	(sync-features-to-emacs, sync-indentation-to-emacs): Added to
	*pre-reply-hook*.
	(cl-package, keyword-package): Now defconstant instead of
	defvar. Removed the *'s accordingly.

2004-06-20 07:46  lgorrie

	* swank-backend.lisp:

	(add-hook, run-hook): Added an Emacs-like hook mechiansm.  The hope is
	that this will make some sections of the code more self-describing by
	showing where they hook in.

	(*new-connection-hook*): Hook run when a new connection is
	established. Initialized to '(swank-backend:emacs-connected).

	(*pre-reply-hook*): Hook run before sending a reply to Emacs.

2004-06-20 07:46  lgorrie

	* slime.el:

	(slime-changelog-date, slime-check-protocol-version): Removed unneeded
	functions.

2004-06-20 06:13  lgorrie

	* slime.el:

	* slime.el: Audited to remove namespace slipups. Tracking a really
	horrible clashing-with-some-user-configuration bug and want to
	eliminate potential symbol conflicts.
	(sldb-get-buffer): Renamed from `get-sldb-buffer'.
	(slime-emacs-20-p): Renamed from `emacs-20-p'.
	(slime-defun-if-undefined): Renamed from `defun-if-undefined'.
	(slime-isearch): Small bugfix that could cause M-. to go to the
	wrong place in CMUCL.

2004-06-20 03:51  lgorrie

	* slime.el:

	(slime-abort-connection): Renamed from `slime-connection-abort'. The
	new name is easier to find with completion.

2004-06-19 23:07  lgorrie

	* swank.lisp:

	(known-to-emacs-p): Bugfix. Indentation-updates was broken.

2004-06-18 23:54  lgorrie

	* ChangeLog:

	[no log message]

2004-06-18 23:54  lgorrie

	* slime.el:

	(slime-buffer-package): If DONT-CACHE is true and no package name can
	be found, then default to "COMMON-LISP-USER."  Previously we just kept
	using the cached version, but that could lead to error-after-error if
	it was incorrect.

2004-06-18 21:27  lgorrie

	* swank-allegro.lisp:

	From Matthew Danish:
	Implemented frame-source-location-for-emacs.

2004-06-18 21:26  lgorrie

	* ChangeLog:

	[no log message]

2004-06-18 21:26  lgorrie

	* ChangeLog, slime.el:

	(slime-recenter-window): Avoid moving the point. This the keeps the
	point in the right place when showing debugger-frame locations in
	Emacs 21.

2004-06-18 19:50  lgorrie

	* ChangeLog:

	[no log message]

2004-06-18 19:50  lgorrie

	* slime.el:

	(slime-list-compiler-notes): Save the window configuration
	earlier. This fixes an error under XEmacs when dismissing the
	notes buffer.

2004-06-18 19:43  lgorrie

	* ChangeLog:

	[no log message]

2004-06-18 19:43  lgorrie

	* slime.el:

	(slime-display-message): Fixed call to `slime-typeout-message'
	handle formatting characters. Avoids errors on certain messages.

2004-06-18 18:46  lgorrie

	* ChangeLog:

	[no log message]

2004-06-18 18:45  lgorrie

	* slime.el:

	(slime-preserve-zmacs-region): Function to ensure that the current
	command doesn't deactive zmacs-region (XEmacs only).
	(slime-repl-bol, slime-repl-eol): Use it.

	(slime-kill-all-buffers): Changed buffer-name regexps for XEmacs
	compatibility. The ",quit" shortcut now works in XEmacs.

2004-06-18 18:10  lgorrie

	* ChangeLog:

	[no log message]

2004-06-18 18:10  lgorrie

	* slime.el:

	(slime-repl-return): If the user presses return on old REPL input then
	take it and insert it as the current input.
	Signal an error if the point is not on any input.

2004-06-17 19:42  lgorrie

	* ChangeLog:

	[no log message]

2004-06-17 19:41  lgorrie

	* swank-loader.lisp:

	(binary-pathname, user-init-file): Removed Win32
	conditionalization. The init file is now called ~/.swank.lisp instead
	of ~/_swank.lsp.

2004-06-17 18:05  lgorrie

	* ChangeLog:

	[no log message]

2004-06-17 18:04  lgorrie

	* swank-loader.lisp:

	(binary-pathname): Place fasl files under ~/.slime/fasl/ (or _slime in
	win32) instead of the SLIME installation directory. The installation
	directory can now be read-only.

2004-06-17 17:59  lgorrie

	* swank-lispworks.lisp:

	(quit-lisp): Implemented.

2004-06-17 13:39  lgorrie

	* ChangeLog:

	[no log message]

2004-06-17 13:39  lgorrie

	* swank-lispworks.lisp:

	(with-fairly-standard-io-syntax): New macro. Like
	with-standard-io-syntax, but keeps the existing values of *package*
	and *readtable*.

	(dspec-stream-position): Use it.

2004-06-17 12:10  lgorrie

	* ChangeLog:

	[no log message]

2004-06-17 12:10  lgorrie

	* swank-lispworks.lisp:

	(dspec-stream-position): Remove `with-standard-io-syntax' so that we
	can read files with custom read syntax.
	Bind *READ-EVAL* to T instead of NIL (at the suggestion of Alain
	Picard).

2004-06-17 00:05  heller

	* ChangeLog:

	[no log message]

2004-06-17 00:04  heller

	* swank-abcl.lisp:

	(emacs-connected): Ignore the stream argument.

2004-06-17 00:03  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-lispworks.lisp,
	  swank-openmcl.lisp, swank.lisp:

	(emacs-connected): Pass the redirected stream as argument, so that the
	OpenMCL backend can add it to CCL::*AUTO-FLUSH-STREAMS*.

2004-06-16 22:28  heller

	* ChangeLog:

	[no log message]

2004-06-16 22:27  heller

	* swank-allegro.lisp:

	(default-directory, call-with-syntax-hooks): Add implementations as
	workarounds for ACL5 bugs.

2004-06-16 22:26  heller

	* swank.lisp:

	(*readtable-alist*): Call backend function for initialization.

	(eval-for-emacs, guess-buffer-package): Signal a continuable error if
	a package name was supplied but no such package exists.  Not sure if
	this is better than what we did before (i.e. silently use the current
	package).

2004-06-16 22:26  heller

	* swank-sbcl.lisp:

	* swank-sbcl.lisp (default-readtable-alist): Implement it.

2004-06-16 22:25  heller

	* swank-loader.lisp:

	Move readtable-alist initialization to the swank-sbcl.lisp.

2004-06-16 22:25  heller

	* swank-cmucl.lisp:

	(default-directory): Add implementation.

	(sldb-step): Uncomment it and remove references to
	*swank-debugger-condition*.

2004-06-16 22:25  heller

	* swank-backend.lisp:

	(sldb-step, default-readtable-alist): New backend functions.

2004-06-16 22:24  heller

	* slime.el:

	(slime-set-default-directory): Don't call
	slime-repl-update-banner in Emacs 20.
	(slime-show-source-location, slime-recenter-window): Use
	set-window-start instead of recenter; this avoids flickering.
	(sldb-list-locals): Don't forget about slime-current-thread in the
	temporary buffer.  (Fixes bug reported by Mike Beedle.)
	(sldb-step): Re-enabled.  The CMUCL backend has rudimentary support
	for stepping.

2004-06-16 21:39  asimon

	* swank-abcl.lisp:

	find-definitions

2004-06-16 02:13  lgorrie

	* ChangeLog:

	[no log message]

2004-06-16 02:13  lgorrie

	* slime.el:

	(slime-backend): This variable can now be set to an absolute filename.

2004-06-15 19:01  lgorrie

	* ChangeLog:

	[no log message]

2004-06-15 19:01  lgorrie

	* slime.el:

	(slime-compile-file): Just prompt for saving the current file instead
	of calling `save-some-buffers'. Based on a patch from Brian Downing.

2004-06-12 14:29  heller

	* ChangeLog:

	[no log message]

2004-06-12 14:27  heller

	* swank-allegro.lisp:

	(format-sldb-condition, condition-references): Add workarounds for
	buggy no-applicable-method.

2004-06-12 14:21  heller

	* swank.lisp:

	(parse-symbol, parse-package): Handle reader errors.

2004-06-12 14:01  heller

	* swank-openmcl.lisp:

	(send, receive): Ensure that messages are never nil.

2004-06-10 22:52  heller

	* swank-sbcl.lisp:

	[no log message]

2004-06-10 20:08  heller

	* ChangeLog:

	[no log message]

2004-06-10 19:57  heller

	* swank-loader.lisp:

	Initialize swank::*readtable-alist* for SBCL.

2004-06-10 19:56  heller

	* swank-sbcl.lisp:

	(call-with-syntax-hooks): Add hooks to fix SB!-style package names.

	(shebang-readtable): Return a readtable with the readermacros need to
	parse SBCL sources.

2004-06-10 19:52  heller

	* swank-backend.lisp:

	(default-directory, call-with-syntax-hooks): New functions.

2004-06-10 19:51  heller

	* swank.lisp:

	(*readtable-alist*): New configurable.  The keys are package name and
	the values readtables.  The readtable will be used to READ code
	originating from Emacs buffers in the associated slime-buffer-package.

	(drop-thread): Simplified.

	(*buffer-readtable*): New variable.

	(with-buffer-syntax): New macro.  This should be used for code which
	needs to read or prints expressions with reader and printer variables,
	in particular *package* and *readtable*, suitable for the Emacs
	buffer.

	(to-string, format-values-for-echo-area, interactive-eval)
	(eval-region, interactive-eval-region, re-evaluate-defvar)
	(swank-pprint, pprint-eval, listener-eval, compile-string-for-emacs)
	(disassemble-symbol, describe-to-string, describe-symbol)
	(describe-function, describe-definition-for-emacs)
	(documentation-symbol, init-inspector, inspect-nth-part)
	(inspector-pop, inspector-next, describe-inspecte)
	(inspect-current-condition): Use it.

	(parse-string): Renamed from symbol-from-string.  Make it case
	insensitive.

	(parse-package): New function.

	(eval-for-emacs): Initialize the *buffer-readtable*.

	(symbol-indentation): Don't consider symbols in the CL package.  Emacs
	already knows how to indent them.

	(compile-file-if-needed): Used for REPL shortcut 'compile-and-load'.

2004-06-10 19:34  heller

	* slime.el:

	(pwd): Re-add REPL shortcut.
	(slime-repl-push-directory, slime-repl-compile-and-load): Simplified.

2004-06-10 06:40  lgorrie

	* ChangeLog:

	[no log message]

2004-06-10 06:40  lgorrie

	* slime.el:

	(sldb-step): Command is disabled because the function
	`swank:sldb-step' that it calls doesn't exist. I don't see any
	stepping code in our backends.

2004-06-09 22:24  heller

	* ChangeLog:

	[no log message]

2004-06-09 22:17  heller

	* slime.el:

	(slime-indent-and-complete-symbol): Renamed from
	slime-repl-indent-and-complete-symbol.  From Eric Blood.

	(slime-init-output-buffer): Initialize the package stack.  Reported by
	Rui Patrocnio.

	(slime-completions): Make it consistent with
	slime-simple-completions. The second argument was never supplied.
	Reported by Rui Patrocnio.

	(slime-typeout-frame-properties): Add more default options for the
	typeout frame--specifically it now has a default width, and moves the
	typeout frame to the upper right.  From Eric Blood.

	(slime-goto-location-position) [:function-name]: The function name can
	also occur after a ?(, not only after whitespace.

2004-06-09 22:08  heller

	* swank-loader.lisp:

	Add ABCL support.

2004-06-09 22:08  heller

	* swank-abcl.lisp:

	ABCL backend from Andras Simon.

2004-06-09 14:41  msimmons

	* ChangeLog:

	[no log message]

2004-06-09 14:40  msimmons

	* swank-lispworks.lisp:

	(dspec-stream-position): New function to make source location work for anything
	complicated e.g. methods.
	(with-swank-compilation-unit): Refactoring.
	(who-macroexpands): Implemented.
	(list-callers): Implemented.

2004-06-09 14:35  msimmons

	* swank-backend.lisp:

	(network-error): Inherit from simple-error to get correct initargs.

2004-06-09 01:58  lgorrie

	* ChangeLog:

	[no log message]

2004-06-09 01:58  lgorrie

	* slime.el:

	(sldb-insert-references): Added support for hyperlinked references as
	part of conditions being debugged. This is a new feature in SBCL to
	reference appropriate sections of their manual or CLHS from condition
	objects. The references are clickable.

2004-06-09 01:57  lgorrie

	* swank.lisp:

	(debugger-condition-for-emacs): Call new backend functions to add a
	`references' list for Emacs.

2004-06-09 01:57  lgorrie

	* swank-sbcl.lisp:

	(format-sldb-condition, condition-references):
	Implemented. Requires a recent (latest?) SBCL release.

2004-06-09 01:57  lgorrie

	* swank-backend.lisp:

	(format-sldb-condition): New backend function to format conditions for
	SLDB.

	(condition-references): New function to return a list of documentation
	references associated with a condition.

2004-06-08 22:33  lgorrie

	* ChangeLog:

	[no log message]

2004-06-08 22:32  lgorrie

	* swank-cmucl.lisp, swank-sbcl.lisp:

	(close-socket): Remove any SERVE-EVENT handlers for the socket's file
	descriptor.

2004-06-07 20:38  lgorrie

	* ChangeLog:

	[no log message]

2004-06-07 20:37  lgorrie

	* swank-cmucl.lisp:

	Minor refactorings.

2004-06-07 20:27  lgorrie

	* swank-backend.lisp, swank.lisp:

	Wrap EXPORT calls in EVAL-WHEN. Fixes many warnings in ACL.

2004-06-07 20:27  lgorrie

	* swank-allegro.lisp:

	Implemented.

	Wrap IMPORT call in EVAL-WHEN.

2004-05-25 03:33  lgorrie

	* ChangeLog:

	[no log message]

2004-05-25 03:31  lgorrie

	* slime.el:

	(slime-kill-without-query-p): Default to T.

	(sldb-highlight): Variable to control face-based highlighting of SLDB
	locations. (In Emacs21 the point is visible even in unselected
	windows, which is sufficient for me.)

	(sldb-show-location-recenter-arg): Argument to `recenter' when showing
	SLDB locations. Default to nil, i.e. location appears in the middle of
	the window.

2004-05-24 18:14  heller

	* ChangeLog:

	[no log message]

2004-05-24 18:10  heller

	* slime.el:

	(slime-input-complete-p): Return nil for unbalanced sexps starting
	with quote ?', backquote ?`, or hash ?#.  C-j can be used if Emacs
	gets the parsing wrong.

2004-05-22 13:20  mbaringer

	* ChangeLog, slime.el:

	2004-05-22  Marco Baringer  <mb@bese.it>

		* slime.el (slime-repl-sayoonara): Added "quit" as an alias for
		sayoonara.

2004-05-22 10:15  heller

	* ChangeLog:

	[no log message]

2004-05-22 10:14  heller

	* swank-cmucl.lisp:

	(arglist): Catch (reader) errors in read-arglist.

2004-05-22 10:05  heller

	* ChangeLog:

	[no log message]

2004-05-22 10:04  heller

	* swank-allegro.lisp:

	(fspec-primary-name): New function.
	(find-fspec-location): Use it, if the start position cannot be found.

2004-05-22 09:59  heller

	* slime.el:

	(slime-pprint-event): New function.
	(slime-log-event): Use it.

	(slime-reindent-defun): Indent the defun after point, if point is in
	the first column an immediately before a #\(.

2004-05-21 23:30  heller

	* ChangeLog:

	[no log message]

2004-05-21 23:24  heller

	* slime.el:

	(slime-enable-startup-animation-p): New configurable.
	(slime-repl-update-banner): Use it.

	(slime-hide-inferior-lisp-buffer): New function. Reuse the
	*inferior-lisp* buffer window for the SLIME REPL.

2004-05-21 10:27  heller

	* ChangeLog:

	[no log message]

2004-05-21 10:24  heller

	* slime.el:

	(slime-switch-to-output-buffer): Override the prefix-arg if we are
	called non-interactively.

	(slime-repl-current-input): Don't add newlines.

	(slime-repl-return): Send input if we are read-mode even if it isn't a
	complete expression.

	(repl-read-lines): New test case.

2004-05-21 10:19  heller

	* swank-allegro.lisp:

	(find-fspec-location): Better handling of methods.  Reported by Bill
	Clementson.

2004-05-17 02:26  lgorrie

	* ChangeLog:

	[no log message]

2004-05-17 02:25  lgorrie

	* swank-clisp.lisp, xref.lisp:

	Renamed XREF package to PXREF (P for portable). This makes it possible
	to load the package in e.g. CMUCL, which is nice because it's a good
	package.

2004-05-17 02:21  lgorrie

	* swank-cmucl.lisp:

	Some refactoring and high-level commenting. Mostly just trying to
	organise things into fairly self-contained sections (my new hobby, sad
	I know!)

2004-05-17 01:35  lgorrie

	* swank-backend.lisp:

	Trivial doc additions.

2004-05-17 01:33  lgorrie

	* slime.el:

	Added `C-c C-e' as an alternative binding for `slime-interactive-eval'
	(usually `C-c :'). This seems slightly more convenient, and has the
	added bonus of clobbering an unwanted `inf-lisp' binding.

2004-05-14 12:39  mbaringer

	* ChangeLog, slime.el:

	See ChangeLog entry 2004-05-14  Marco Baringer

2004-05-13 06:47  aruttenberg

	* ChangeLog, swank-openmcl.lisp:

	2004-05-12  Alan Ruttenberg  <alanr-l@mumble.net>
		* swank-openmcl.lisp: Fixes to support openmcl 0.14.2 changes in
		backtrace protocol, from Gary Byers.
		- Replace string "tcr" to "context".
		- Change the call to %current-tcr in map-backtrace to get-backtrace-context,
		defined so as to be back compatible with 0.14.1.
		- Change the call to %catch-top to explicitly use %current-tcr
		instead of the passed in tcr-which-is-now-called-context.

		Users of map-backtrace (outside of slime code) note: The tcr position in the
		function call is now occupied by the backtrace "context" which is always nil.
		If you really need the tcr then you need to call %current-tcr yourself now.

		Gary comments: The part that's a little hard to document about
		the new "context" stuff - used to walk the stacks of thread A from
		thread B - is that thread B has to be aware of when a context
		becomes invalid (a context describing part of thread A's stack is
		valid while thread A's sitting in a break loop and becomes invalid
		as soon as it exits that break loop.)  A thread sort of announces
		when a context becomes valid and when it becomes invalid; whether
		and how SWANK could hook into that isn't yet clear.

		* swank-openmcl.lisp: Minor changes to backtrace display: Anonymous
		functions names in function position surrounded by #<>. Use prin1 instead of
		princ to print function arguments (so strings have "s around them).
		prefix symbol and list arguments by "'" to make them more look like a
		valid function call. Let me know if you don't like this...

2004-05-12 18:23  lgorrie

	* ChangeLog:

	[no log message]

2004-05-12 18:21  lgorrie

	* slime.el:

	Fixes for outline-mode in *slime-events* from Edi Weitz.

2004-05-11 23:02  heller

	* ChangeLog:

	[no log message]

2004-05-11 23:00  heller

	* slime.el:

	(slime-events-buffer): Disable outline by default.
	(slime-inhibit-ouline-mode-in-events-buffer): New variable.

2004-05-11 22:58  heller

	* swank-sbcl.lisp:

	(resolve-note-location): Resolve the location if we are called by
	swank-compile-string.  The pathname argument is never :stream in SBCL,
	so the method written for CMUCL was never called.

2004-05-10 15:54  lgorrie

	* ChangeLog:

	[no log message]

2004-05-10 15:49  lgorrie

	* swank.lisp:

	(from-string): Bind *READ-SUPPRESS* to NIL.

	(swank-compiler): Bind a restart to abort compilation but still report
	the compiler messages already trapped.

	(string-to-package-designator): Function that uses READ to
	case-convert package names.

	(apropos-list-for-emacs): Use it.

2004-05-10 15:44  lgorrie

	* slime.el:

	(slime-eval-with-transcript): Don't print the "=>" prefix in messages
	showing evaluation results. It mucks up alignment in multi-line
	messages.

	(sldb-eval-in-frame): Don't print "==>" prefix on evaluation results,
	for the same reason.

	(slime-show-source-location): Move the point to the source location in
	addition to highlighting the matching parens.

2004-05-08 21:00  heller

	* swank-cmucl.lisp, ChangeLog:

	[no log message]

2004-05-07 23:12  heller

	* ChangeLog:

	[no log message]

2004-05-07 23:11  heller

	* swank-clisp.lisp:

	(compiler-note-location): Use make-location to instead of `(:location
	...). This initializes the new hint slot.

2004-05-07 23:10  heller

	* swank.lisp:

	(prin1-to-string-for-emacs): CVS CLISP prints NIL as
	|COMMON-LISP|::|NIL| if *print-readably* is true.  Set
	*print-readably* to nil for a more Emacs friendly printer syntax.
	(arglist-to-string): Ditto.

2004-05-06 21:55  heller

	* ChangeLog:

	[no log message]

2004-05-06 21:52  heller

	* slime.el:

	(slime-maybe-list-compiler-notes): Display the notes listing after C-c
	C-c only if there are no annotations in the buffer.  CMUCL creates
	usually one warning with a error location and an almost redundant
	warning at the end of the compilation unit. Don't display the listing
	in this common case.

	(slime-reindent-defun): Pass nil as the third arument to indent-region.

2004-05-06 09:38  mbaringer

	* ChangeLog, slime.el, swank-openmcl.lisp:

	See Changelog entry 2004-05-06 Marco Baringer

2004-05-04 21:17  heller

	* ChangeLog:

	[no log message]

2004-05-04 21:12  heller

	* slime.el:

	(slime-compiler-notes-show-details/mouse): New command.
	(slime-compiler-notes-mode-map): Use it.

2004-05-04 21:02  heller

	* swank-cmucl.lisp:

	(arglist): Handle byte-code functions better.  We don't know much
	about the actual argument list, only the number of arguments.  Return
	at lest something mildy interesting like (arg0 arg1 &optional arg2 ...)

	(function-location): Special-case byte-code functions.

2004-05-04 20:57  heller

	* swank-backend.lisp:

	(with-struct): New macro.

2004-05-04 11:34  lgorrie

	* ChangeLog:

	[no log message]

2004-05-04 11:33  lgorrie

	* slime.el:

	Patch from Thomas Burdick:
	(slime-reindent-defun): New command on C-M-q. Reindent the current
	Lisp defun after trying to close any unmatched parenthesis. If used
	within a comment it just calls fill-paragraph.

2004-05-04 11:11  lgorrie

	* slime.el:

	(slime-goto-location-position): Regexp fix.

2004-05-04 10:15  lgorrie

	* ChangeLog:

	[no log message]

2004-05-04 10:13  lgorrie

	* swank.lisp:

	Remove (declaim (optimize ...)). The side-effect this has on people's
	environment seems harmful (I saw someone having trouble on the OpenMCL
	list).

2004-05-04 10:10  lgorrie

	* ChangeLog:

	[no log message]

2004-05-04 10:09  lgorrie

	* slime.el:

	Remove `slime-cleanup-definition-refs'.

2004-05-04 10:09  lgorrie

	* swank-cmucl.lisp:

	(source-location-from-code-location): Fixed a bug where the
	source-file-cache was not really used.  Now always report the location
	based on source file (cached or not) even if modified -- not falling
	back on regexps, which was probably a misfeature.

2004-05-02 21:09  heller

	* ChangeLog:

	[no log message]

2004-05-02 21:08  heller

	* slime.el:

	(slime-start-and-load): New function.  Suggested by Lars Magne Ingebrigtsen.

2004-05-02 20:54  heller

	* slime.el:

	(slime-kill-without-query-p): Make it a defvar not a defun.

2004-05-02 20:39  heller

	* slime.el:

	(slime-kill-without-query-p): New variable.
	(slime-net-connect): Use it.
	(slime-open-stream-to-lisp): Ditto.
	(slime-maybe-start-lisp): Ditto.

2004-05-02 04:19  lgorrie

	* ChangeLog:

	[no log message]

2004-05-02 04:19  lgorrie

	* swank-cmucl.lisp:

	(code-location-stream-position): Position the argument stream at the
	definition before returning.

	(source-location-from-code-location): Include the :snippet hint for
	Emacs (see above). The snippet will only be accurate provided that the
	source file on disk has not been modified.

	(*source-file-cache*) The contents of all source files consulted for
	M-. are now cached if they match the version of the running code. This
	is so that we can accurately lookup source locations even when the
	file is modified, provided we manage to get the right version (by file
	timestamp) at least once.

	(source-location-from-code-location): If the right source version is
	not available on disk or in our cache then let Emacs fall back on a
	regular expression search.

2004-05-02 04:16  lgorrie

	* swank-backend.lisp:

	(:location): Added a 'hints' property list to the location
	structure. This is for extra information that compliments the
	buffer/position.

2004-05-02 04:14  lgorrie

	* slime.el:

	(slime-goto-source-location): Added support for the :snippet "hint" in
	a location specifier. If Lisp sends the (initial) source text for the
	definition then Emacs isearches for it in both directions from the
	given character position. This makes M-. robust when the Emacs buffer
	has been edited. Requires backends to provide this snippet
	information.

	(slime-goto-location-position): Tightened up the regular expressions
	for :function-name style location search.

	(slime-cleanup-definition-refs): New function to do a little
	post-processing on definition references from Lisp. Mostly this is a
	hack: if POSITION is NIL then we fill it in with the function name,
	ready for regexp search. I was in a hurry and it was easier to do
	here, and it doesn't seem entirely unreasonable.

2004-05-01 18:46  heller

	* ChangeLog:

	[no log message]

2004-05-01 18:37  heller

	* swank-lispworks.lisp:

	(find-top-frame): New function used to hide debugger internal frames.
	(call-with-debugging-environment): Use it.

2004-05-01 02:10  lgorrie

	* ChangeLog:

	[no log message]

2004-05-01 02:05  lgorrie

	* slime.el:

	(slime-edit-definition-fallback-function): Name of a function to try
	if the builtin edit-definition finding fails. You can set this to
	`find-tag' to fall back on TAGS.

2004-05-01 01:43  lgorrie

	* ChangeLog:

	[no log message]

2004-05-01 01:40  lgorrie

	* slime.el:

	(sldb-abort): Print a message if the Emacs RPC returns. It shouldn't,
	if ABORT manages to unwind the stack, but it currently does in OpenMCL
	due to some bug.

2004-05-01 01:20  lgorrie

	* swank.lisp:

	(list-all-systems-in-central-registry): Use explicit :wild in pathname
	for matching (needed in at least SBCL).

2004-05-01 01:19  lgorrie

	* swank-sbcl.lisp:

	Removed obsolete `swank-compile-system'.
	Removed some stale comments about supported features.

2004-05-01 01:16  lgorrie

	* swank-openmcl.lisp:

	Removed obsolete `swank-compile-system'.

2004-04-30 09:28  heller

	* swank.lisp:

	(symbol-indentation): Oops.  Consider symbols other then 'defmethod'
	and use prefix-match-p.

2004-04-30 08:40  heller

	* ChangeLog:

	[no log message]

2004-04-30 08:37  heller

	* slime.el:

	(slime-repl-update-banner): Don't print the working directory.  It
	rarely fits in a line and was only Emacs' default-directory.  M-x pwd
	is convenient enough.

2004-04-30 08:34  heller

	* swank.lisp:

	(symbol-indentation): Don't infer indentation for symbols starting
	with 'def' or 'with-' it's wrong most of the time and Emacs' defaults
	are better.

2004-04-30 08:32  heller

	* swank-lispworks.lisp:

	(emacs-connected): Add methods to stream-soft-force-output for
	socket-streams and slime-output-streams.

2004-04-29 21:16  heller

	* slime.el:

	Patch from Lars Magne Ingebrigtsen:
	(slime-event-buffer-name): New variable.
	(slime-events-buffer): Use it.
	(slime-space-information-p): Ditto.
	(slime-space): Use it.
	(slime-reply-update-banner-p): Ditto.
	(slime-repl-update-banner): Use it.

2004-04-29 21:07  heller

	* slime.el:

	(slime-repl-mode): Set slime-current-thread to :repl-thread.

2004-04-29 21:05  heller

	* swank.lisp:

	(thread-for-evaluation, dispatch-event): Accept :repl-thread as thread
	specifier and dispatch evaluation and interrupt request properly.

	(repl-thread-eval, repl-eval): Deleted. We do the special casing in
	thread-for-evaluation.

2004-04-29 00:25  heller

	* ChangeLog:

	[no log message]

2004-04-29 00:21  heller

	* swank-loader.lisp:

	(*lisp-name*): Add versioning support for CLISP.

2004-04-29 00:19  heller

	* swank-clisp.lisp:

	(arglist): Trap exceptions and :not-available in that case.

2004-04-29 00:18  heller

	* swank.lisp:

	(arglist-for-insertion): Don't use ~< ..~:@>.  CLISP's pretty printer
	can't handle it.

2004-04-28 19:07  lgorrie

	* ChangeLog:

	[no log message]

2004-04-28 18:46  lgorrie

	* NEWS:

	[no log message]

2004-04-28 18:45  lgorrie

	* slime.el:

	(slime-log-event): Use outline-minor-mode in *slime-events* instead of
	hideshow-mode. It's more reliable. (Patch from Lawrence Mitchell.)

2004-04-28 00:49  heller

	* ChangeLog:

	[no log message]

2004-04-28 00:35  heller

	* slime.el:

	(slime-net-connect): Bind inhibit-quit to nil, so that we have a
	chance to interrupt Emacs if open-network-stream blocks.

	(slime-complete-maybe-restore-window-configuration): Keep trying for
	slime-repl-indent-and-complete-symbol.

	(slime-space): Don't close the completion buffer.  We don't know the
	window-config before the completion, so leave the buffer open.

2004-04-28 00:27  heller

	* swank.lisp:

	(create-server): New keyword based variant to start the server in
	background.

	(setup-server): Add support to keep the socket open for single-threaded
	Lisps.

2004-04-27 23:25  lgorrie

	* doc/slime.texi:

	(Other configurables): Updated instructions on globally installing
	SLDB on *debugger-hook*.

2004-04-27 23:24  lgorrie

	* ChangeLog:

	[no log message]

2004-04-27 23:24  lgorrie

	* swank.lisp:

	(oneway-eval-string): Removed unused function.

2004-04-27 23:22  lgorrie

	* slime.el:

	(slime-prin1-to-string): Bind `print-escape-newlines' to nil.

	(slime-set-connection-info): Commented out call to
	`slime-check-protocol-version'. Let's see how we do without it.

	(slime-oneway-eval): Removed unused function.

2004-04-27 19:57  lgorrie

	* ChangeLog:

	[no log message]

2004-04-27 19:47  lgorrie

	* swank.lisp:

	(oneway-eval-string): Bind *package* to *buffer-package*.

2004-04-27 19:40  lgorrie

	* slime.el:

	(slime-log-event): Better bug-avoidance with hs-minor-mode. Hopefully
	XEmacs users can rest safely now.

	(slime-prin1-to-string): Bind `print-escape-newlines' to nil.

2004-04-26 23:59  lgorrie

	* ChangeLog:

	[no log message]

2004-04-26 23:59  lgorrie

	* swank.lisp:

	(interactive-eval): Bind *package* to *buffer-package*, so that `C-x
	C-e' and related commands evaluate in the expected package.

2004-04-26 20:39  lgorrie

	* ChangeLog:

	[no log message]

2004-04-26 20:38  lgorrie

	* swank.lisp:

	Move definition of `with-io-redirection' above `with-connection' to
	avoid a CLISP error. This is really weird.

2004-04-26 20:16  lgorrie

	* slime.el:

	(sldb-insert-frames): Handle empty backtrace (I got one in CLISP).

2004-04-26 19:11  lgorrie

	* ChangeLog:

	[no log message]

2004-04-26 19:11  lgorrie

	* swank-allegro.lisp:

	(arglist): Return :not-available if arglist lookup fails with an
	error.

2004-04-26 15:24  lgorrie

	* ChangeLog:

	[no log message]

2004-04-26 15:21  lgorrie

	* slime.el:

	Moved snippets of Common Lisp code into swank.lisp from the thread
	control panel. (Remember, no CL code in slime.el!)

	(slime-events-buffer): Don't use hideshow-mode in XEmacs for the
	*slime-events* buffer. It causes obscure problems for some
	users. Still used in GNU Emacs.

2004-04-26 15:20  lgorrie

	* swank-loader.lisp:

	(*lisp-name*): Include a short version number in the Lisp name to
	separate FASL files for different versions. Only implemented for CMUCL
	and SBCL sofar.

2004-04-26 15:20  lgorrie

	* swank.lisp:

	(ed-in-emacs): Avoid mutating the argument.

	(spawn-repl-thread): Add a new thread for evaluating REPL
	expressions. This same thread is used for all REPL evaluation. This
	fixes some issues with variables like * and ** in at least SBCL.

2004-04-26 14:30  lgorrie

	* nregex.lisp:

	Typo fix (thanks Barry Fishman).

2004-04-25 08:44  heller

	* ChangeLog:

	[no log message]

2004-04-25 08:41  heller

	* swank.lisp:

	(arglist-for-echo-area): Simplified and adapted for the new semantic of
	ARGLIST.
	(arglist-for-insertion): New separate function.
	(read-arglist): Deleted. No longer needed.

2004-04-25 08:37  heller

	* swank-cmucl.lisp, swank-lispworks.lisp:

	(arglist): Return :not-available if the arglist cannot be determined.

2004-04-25 08:35  heller

	* swank-backend.lisp:

	(arglist): Return a list or :not-available.  Don't return strings or
	raise exceptions.

2004-04-25 08:32  heller

	* slime.el:

	(slime-set-connection-info): Hide the *inferior-lisp* buffer here, so
	that we have all the buffer rearrangement in one place.

	(slime-insert-arglist): Use swank:arglist-for-insertion.

2004-04-24 00:13  heller

	* ChangeLog:

	[no log message]

2004-04-24 00:09  heller

	* slime.el:

	(slime-init-connection-state): Use an asynchronous RPC instead of
	slime-eval to reduce the amount of work we do in the timer function.
	So we can remove the workaround for the timer problem.

	(slime-connected-port): New function.

2004-04-23 12:08  lgorrie

	* ChangeLog:

	[no log message]

2004-04-23 12:07  lgorrie

	* slime.el:

	Updated top comments.

	Make SLIME faces inherit from their font-lock cousins properly.

	(slime-connect): Bind `slime-dispatching-connection' to avoid being
	confused by old buffer-local variables when initializing the
	connection. This fixes a bug where doing `M-x slime' from the REPL
	could give a "Not connected" error.

2004-04-22 23:43  heller

	* ChangeLog:

	[no log message]

2004-04-22 23:40  heller

	* slime.el:

	(slime-repl-update-banner): Find the event sequence for 'recenter'
	instead for C-l.

	(slime-read-system-name): Perform completion on all known asd filenames.

2004-04-22 23:37  heller

	* swank.lisp:

	(list-all-systems-in-central-registry, asdf-central-registry): New functions.

2004-04-22 22:12  heller

	* slime.el:

	(slime-repl-update-banner): Add workaround to force the proper
	behavior of the the first command in the REPL buffer.
	(slime-repl-shortcut-history): Define the variable to make XEmacs
	happy.

2004-04-22 22:11  heller

	* ChangeLog:

	[no log message]

2004-04-22 00:59  heller

	* slime.el:

	(slime-space): Cleanup.
	(slime-complete-restore-window-configuration): Use slime-close-buffer
	instead of bury-buffer.

2004-04-22 00:58  heller

	* ChangeLog:

	[no log message]

2004-04-21 23:52  heller

	* ChangeLog:

	[no log message]

2004-04-21 23:51  heller

	* doc/slime.texi:

	Description for slime-insert-arglist.

2004-04-21 23:51  heller

	* swank.lisp:

	(arglist-for-echo-area): New argument to control if the operator name
	should be included.

2004-04-21 23:50  heller

	* slime.el:

	(slime-repl-shortcut): Use a structure instead of a list for the short
	cut info.  Update the users accordingly.

	(slime-insert-arglist): New command - stolen from ILISP. I always
	thought this was quite useful.

	(slime-oos): Fix typo.

2004-04-21 21:59  heller

	* slime.el:

	Require 'bytecomp.

2004-04-21 21:49  heller

	* slime.el:

	Suppress byte-compiler warnings by binding byte-compiler-warnings to nil.

2004-04-21 21:46  heller

	* swank-cmucl.lisp:

	(arglist): Return a list instead of the string.

2004-04-21 20:56  heller

	* slime.el, swank-loader.lisp, swank.lisp:

	Support for regexp based apropos.  From Edi Weitz.

2004-04-21 20:55  heller

	* nregex.lisp:

	imported

2004-04-21 00:42  heller

	* doc/slime.texi:

	(Compilation): slime-remove-notes is bound to C-c M-c not M-c.  Noted
	by Edi Weitz.

2004-04-21 00:38  heller

	* ChangeLog:

	[no log message]

2004-04-21 00:38  heller

	* slime.el:

	(slime-read-package-name): Include nicknames in the completions set.

	(slime-repl-mode-map): Bind C-c : to slime-interactive-eval just
	like in most other SLIME buffers. (Proposed by Edi Weitz)

	(read-directory-name): Compatibilty function.

2004-04-21 00:32  heller

	* swank.lisp:

	(list-all-package-names): Optionally include nicknames in the
	result (From Edi Weitz).

2004-04-21 00:29  heller

	* swank-cmucl.lisp:

	(definition-source-location): Make it backward compatible with 18e.
	(class-definitions): Treat condition-classes like built-in classes
	(i.e. give up) until we find a better solution.

2004-04-20 21:59  heller

	* ChangeLog:

	[no log message]

2004-04-20 21:58  heller

	* slime.el:

	(slime-close-buffer): New utility function.
	(slime-space): Use it to kill superfluous *Completions* buffers.

2004-04-17 11:51  heller

	* ChangeLog:

	[no log message]

2004-04-17 11:34  heller

	* slime.el:

	(slime-merge-notes): Use mapconcat instead of of (concat
	(slime-intersperse (mapcar ....)))

	(slime-intersperse): Handle empty lists.

2004-04-17 11:25  heller

	* swank-cmucl.lisp:

	(source-location-tlf-number, source-location-form-number): New
	functions.
	(resolve-stream-source-location, resolve-file-source-location): Use them.

2004-04-16 21:33  lgorrie

	* ChangeLog:

	[no log message]

2004-04-16 21:31  lgorrie

	* doc/Makefile:

	Added 'install' and 'uninstall' targets for the Info manual. It may be
	necessary to tweak `infodir' in the Makefile to suit the local system
	before installing. (Patch from from Richard M Kreuter.)

2004-04-16 21:30  lgorrie

	* doc/slime.texi:

	[no log message]

2004-04-16 13:54  lgorrie

	* ChangeLog:

	[no log message]

2004-04-16 13:54  lgorrie

	* doc/slime.texi:

	(Top): The Top node is now smaller, with details moved into
	Introduction. This makes the Info front page easier to
	navigate. (Patch from Richard M Kreuter.)

2004-04-15 16:49  lgorrie

	* ChangeLog:

	[no log message]

2004-04-15 13:07  lgorrie

	* slime.el:

	(slime-handle-repl-shortcut): Call `completing-read' with an alist as
	expected, using `slime-bogus-completion-alist'.

2004-04-14 21:15  lgorrie

	* ChangeLog:

	[no log message]

2004-04-14 21:14  lgorrie

	* doc/slime.texi:

	(Shortcuts): Described REPL shortcuts.

2004-04-14 20:50  lgorrie

	* slime.el:

	* slime.el (slime-oos): Generic ASDF interface.
	(force-compile-system, compile-system, load-system,
	force-load-system): New REPL commands.

2004-04-14 20:50  lgorrie

	* swank-backend.lisp, ChangeLog:

	[no log message]

2004-04-14 20:50  lgorrie

	* swank.lisp:

	(operate-on-system-for-emacs): More generic interface to ASDF.

2004-04-14 18:43  lgorrie

	* ChangeLog:

	[no log message]

2004-04-14 18:42  lgorrie

	* slime.el:

	(slime-repl-mode-map): Portability fix for definition of the REPL
	command character.

	(slime-maybe-rearrange-inferior-lisp): Bugfix for running multiple
	inferior lisps.

2004-04-13 12:04  mbaringer

	* ChangeLog, slime.el:

	See ChangeLog entry 2004-04-13 Marco Baringer

2004-04-09 22:48  mbaringer

	* ChangeLog, slime.el:

	See ChangeLog entry 2004-04-09 Lawrence Mitchell

2004-04-08 17:26  mbaringer

	* ChangeLog, slime.el, swank.lisp:

	REPL Shortcuts. See ChangeLog entry 2004-04-08  Marco Baringer

2004-04-08 13:58  lgorrie

	* ChangeLog:

	[no log message]

2004-04-08 13:55  lgorrie

	* slime.el:

	Fixup arglists in docstrings with \(fn convention.

2004-04-08 12:09  lgorrie

	* ChangeLog:

	[no log message]

2004-04-08 12:08  lgorrie

	* slime.el:

	Patch from Lawrence:

	(slime-repl-prompt-face): New face.

	(slime-repl-insert-prompt): Use it.

	(slime-with-chosen-connection, with-struct): Docstring
	fix for function's arglist display.

	(slime-read-package-name): Use `slime-bogus-completion-alist' to
	construct completion table.

	(slime-maybe-rearrange-inferior-lisp): Use `rename-buffer's
	optional argument to rename uniquely.

	(slime-check-connected): Display keybinding for `slime' via
	`substitute-command-keys'.

	(slime-repl-send-repl-command): Use whitespace character class in
	regexp.

	(slime-autodoc-stop-timer): New function.

	(slime-autodoc-mode): Add `interactive' spec to specify optional
	arg.  This allows prefix toggling of mode (behaves more like
	most Emacs modes now).  Stop timer if switching mode off with
	`slime-autodoc-stop-timer'.

	(slime-autodoc-start-timer, slime-complete-symbol)

	(slime-complete-saved-window-configuration)

	(slime-insert-balanced-comments): Docstring fix.

	(slime-ed): Call `slime-from-lisp-filename' on filename for list
	case of argument.
	(slime-insert-transcript-delimiter, slime-thread-insert): Use
	?\040 to indicate SPC.

	(line-beginning-position): `forward-line' always puts us in
	column 0.

	(line-end-position): Define if not fboundp (for older XEmacs).

2004-04-07 18:35  pseibel

	* swank-allegro.lisp:

	Slight tweak to just checked in Allegro-specifc set-default-directory.

2004-04-07 18:28  pseibel

	* ChangeLog, swank-allegro.lisp:

	Allegro specific version of set-default-directory

2004-04-07 18:24  pseibel

	* ChangeLog, swank.lisp:

	Adding swank versions of two missing pretty-printer control variables.

2004-04-07 12:20  lgorrie

	* swank.lisp:

	[no log message]

2004-04-07 12:07  lgorrie

	* ChangeLog:

	[no log message]

2004-04-07 12:06  lgorrie

	* swank.lisp:

	(find-matching-packages): Add a ":" to the end of package names in
	completion.

2004-04-07 11:53  lgorrie

	* swank.lisp:

	(completion-set): Also complete package names.
	(Patch from Sean O'Rourke.)

2004-04-06 18:25  lgorrie

	* ChangeLog:

	[no log message]

2004-04-06 18:08  lgorrie

	* slime.el:

	(slime-bytecode-stale-p): Automatically check if slime.elc is older
	than slime.el and try to help the user out if so.

2004-04-06 12:42  mbaringer

	* ChangeLog, slime.el, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-cmucl.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank.lisp:

	See ChangeLog entry 2004-04-06  Marco Baringer

2004-04-06 09:47  lgorrie

	* ChangeLog:

	[no log message]

2004-04-06 09:46  lgorrie

	* swank.lisp:

	(macro-indentation): Check that the arglist is well-formed. This works
	around a problem with ACL returning arglists that aren't real
	lambda-lists.

2004-04-05 20:03  lgorrie

	* slime.el:

	[no log message]

2004-04-05 09:44  lgorrie

	* swank.lisp:

	dispatch-event fix for :indentation-update.

2004-04-05 08:27  lgorrie

	* ChangeLog:

	[no log message]

2004-04-05 08:27  lgorrie

	* swank.lisp:

	(*swank-pprint-circle*, *swank-pprint-escape*, *swank-pprint-level*,
	*swank,pprint-length*): Fix typo in docstring.

2004-04-05 08:27  lgorrie

	* slime.el:

	(slime-arglist): Don't `message' arglist directly, in case it contains
	%-signs.

	(slime-repl-output-face): Fix quoting.

	(slime-symbol-at-point): Call `slime-symbol-name-at-point', rather
	than ourselves.

	(slime-check-protocol-version): Docstring fix.

2004-04-05 08:19  lgorrie

	* doc/slime.texi:

	(Semantic indentation): Documented new
	automatically-learn-how-to-indent-macros feature.  Added auto version
	control header in subtitle.

2004-04-05 08:18  lgorrie

	* swank.lisp:

	(connection): Added slots to track indentation caching.

	(*connections*): List of all open connections.  (default-connection):
	Function to get a "default" connection. This is intended to support
	globally using the debugger hook outside the context of a SLIME
	request, which is broken at present.

	(with-connection): Don't setup a restart: that must be done
	separately.

	(sync-state-to-emacs): Call `update-connection-indentation'.

	(update-connection-indentation): Automatically discover how to indent
	macros and tell Emacs.

2004-04-05 08:18  lgorrie

	* swank-backend.lisp:

	(arglist): Specify that strings returned from ARGLIST should be
	READable.

2004-04-05 08:17  lgorrie

	* slime.el:

	(slime-close-parens-at-point): New command bound to C-a C-a. Inserts
	close-parenthesis characters at point until the top-level form becomes
	well formed. Could perhaps be made fancier.

	(slime-update-indentation): New command to update indentation
	information (`common-lisp-indent-function' properties) based on macro
	information extracted from Lisp. This happens automatically, the
	command is just to force a full rescan.

2004-04-02 00:21  heller

	* ChangeLog:

	[no log message]

2004-04-02 00:20  heller

	* slime.el:

	(slime-autodoc): Escape %-signs in arglist before passing to format.

	(slime-maybe-list-compiler-notes): Display the notes for C-c C-c when
	there are notes without a good source-location.

2004-04-01 23:35  heller

	* ChangeLog:

	[no log message]

2004-04-01 23:27  heller

	* swank-sbcl.lisp:

	Remove the workarounds for non-existent fcntl.
	(preferred-communication-style): Use multithreading if futexes are
	available, sigio if fctnl is present, and fd-handlers otherwise.

	(resolve-note-location): Don't try to construct a source-location if
	there's no context.  Notes without location will be displayed in the
	note-listing buffer.

2004-04-01 00:46  heller

	* ChangeLog:

	[no log message]

2004-04-01 00:46  heller

	* swank-cmucl.lisp:

	(debug-function-arglist): Return symbols if possible.

	(class-location): Support for experimental source-location recording.

2004-04-01 00:38  heller

	* swank-allegro.lisp:

	(send): Fix misplaced parens. (From Bill Clementson)

2004-03-31 01:12  heller

	* ChangeLog:

	[no log message]

2004-03-31 01:10  heller

	* slime.el:

	(slime-repl-result-face): New face.

	(slime-inspector-mode-map): Add a binding for M-.

	(compile-defun): Add test case for escaped double quotes inside a
	string.

	(slime-ed): Deal with list form of argument.  For a list (FILENAME
	LINE [COLUMN]), visit the correct line and column number.

2004-03-31 01:08  heller

	* swank.lisp:

	(ed-in-emacs): New allowed form for argument.

	(pprint-eval-string-in-frame): Apply arguments in proper order.

2004-03-31 01:03  heller

	* swank-cmucl.lisp:

	(method-dspec): Include the specializers.

	(class-definitions): Renamed from struct-definitions.  Try to locate
	condition-classes and PCL classes (in the future).

	(debug-function-arglist): Insert &optional, &key, &rest in the right
	places.

	(form-number-stream-position): Make it a separate function.

2004-03-29 19:49  heller

	* swank-source-path-parser.lisp:

	(cmucl-style-get-macro-character): The feature is CMU not CMUCL.

2004-03-29 19:08  heller

	* ChangeLog:

	[no log message]

2004-03-29 18:50  heller

	* swank-source-path-parser.lisp:

	(cmucl-style-get-macro-character): New function. Workaround for bug(?)
	in SBCL.
	(make-source-recording-readtable): Use it.

2004-03-29 02:59  lgorrie

	* ChangeLog:

	[no log message]

2004-03-29 02:59  lgorrie

	* HACKING:

	Some small updates (more needed).

2004-03-29 02:59  lgorrie

	* slime.el:

	(slime-inspector-buffer): Enter `slime-inspector-mode' after
	`slime-mode'. This seems to give priority of keymap to the inspector,
	so that it can override SPC.

	(slime-easy-menu): Add slime-switch-to-output-buffer.  Enable SLIME
	menu in the REPL buffer.

	(slime-symbol-name-at-point): Avoid mistaking the REPL prompt for a
	symbol.

	(slime-words-of-encouragement): A few new ones.

	(slime-insert-xrefs): Removed the final newline from XREF
	buffers. This helps to avoid unwanted scrolling.

2004-03-29 02:57  lgorrie

	* doc/slime.texi:

	Added a section about user-interface conventions and our relationship
	with inf-lisp.

2004-03-27 22:39  heller

	* ChangeLog:

	[no log message]

2004-03-27 22:37  heller

	* slime.el:

	(slime-changelog-date): Reinitialize it at load-time.  This avoids
	restarting Emacs (horror!) after an update.

2004-03-27 22:23  heller

	* ChangeLog:

	[no log message]

2004-03-27 22:20  heller

	* swank-cmucl.lisp:

	(debug-function-arglist): Reconstruct the arglist from the the
	debug-arguments. (Not complete yet.)
	(arglist): Use it.

2004-03-27 22:17  heller

	* swank-lispworks.lisp:

	(spawn): Remove CL symbols from mp:*process-initial-bindings*, to
	avoid the irritating behavior, e.g., when someone tries to set
	*package*.

2004-03-27 22:14  heller

	* swank.lisp:

	(*log-io*): New variable.  Bind it to *terminal-io* at load-time, so
	we can log to a non-redirected stream.

	(disassemble-symbol): Allow generalized function names.

	(apropos-symbols): Handle the PACKAGE argument properly to get useful
	output for C-c P.

2004-03-27 22:11  heller

	* slime.el:

	(slime-repl-indent-and-complete-symbol): New command.  Bound to TAB in
	the REPL mode.  First try to indent the current line then try to
	complete the symbol at point.

	(slime-dispatch-event): Ignore a unused thread variable to keep
	XEmacs' byte compiler quiet.

2004-03-27 21:45  heller

	* swank-sbcl.lisp:

	(enable-sigio-on-fd): Use sb-posix::fcntl instead of sb-posix:fcntl to
	avoid the ugly reader hack.  SBCL doesn't have package locks and even
	if they add locks in the future sb-posix::fcntl will still be valid.

	(getpid): Use defimplementation instead of defmethod.

	(function-definitions): Take generalized function names ala '(setf
	car)' as argument.

2004-03-26 17:07  lgorrie

	* ChangeLog:

	[no log message]

2004-03-26 17:06  lgorrie

	* slime.el:

	(slime-group-similar): Bugfix: return NIL if the input list is NIL.

2004-03-26 15:39  lgorrie

	* doc/: Makefile, slime.texi:

	Support for Norwegian "o with slash".

2004-03-26 14:25  lgorrie

	* ChangeLog:

	[no log message]

2004-03-26 14:24  lgorrie

	* swank.lisp:

	(print-arglist): Updated to handle arglists with string elements,
	causing arglists for macros to display properly in LW 4.1.

2004-03-26 14:22  lgorrie

	* ChangeLog:

	[no log message]

2004-03-26 14:21  lgorrie

	* slime.el:

	Wrap byte-compilation in `save-window-excursion' to avoid showing an
	unwanted warnings buffer (in XEmacs).

2004-03-26 10:21  mbaringer

	* ChangeLog, swank-cmucl.lisp:

	See ChangeLog entry 2004-03-26 Marco Baringer

2004-03-26 07:50  heller

	* HACKING:

	Change to 'diff -u'.

2004-03-26 01:48  lgorrie

	* ChangeLog:

	[no log message]

2004-03-26 00:52  lgorrie

	* slime.el, ChangeLog:

	[no log message]

2004-03-26 00:22  lgorrie

	* ChangeLog:

	[no log message]

2004-03-26 00:20  lgorrie

	* slime.el:

	(slime-merge-notes-for-display): New function to merge together
	compiler notes that refer to the same location. This is an
	optimization for when there are a lot of compiler notes:
	`slime-merge-note-into-overlay' concat'd messages together one by one
	in O(n^2) time/space, and became noticably slow in practice with ~100
	notes or more.

2004-03-26 00:04  heller

	* HACKING:

	Add a short note about patches.

2004-03-25 23:47  heller

	* ChangeLog:

	[no log message]

2004-03-25 23:44  heller

	* swank-lispworks.lisp:

	(create-socket, set-sigint-handler, who-references, who-binds)
	(who-sets): Add backward compatibility for LW 4.1.

	(dspec-buffer-position): Fix a bug involving inappropriate use of
	etypecase.

2004-03-25 20:47  lgorrie

	* swank-sbcl.lisp:

	(getpid): Use sb-posix:getpid.

2004-03-24 23:27  lgorrie

	* slime.el, doc/slime.texi:

	(slime-inspector-mode-map): Added SPC as extra binding for
	slime-inspector-next (like info-mode).

2004-03-24 13:51  lgorrie

	* ChangeLog:

	[no log message]

2004-03-24 13:48  lgorrie

	* doc/slime.texi:

	Added completion style and configuration.

2004-03-23 22:38  heller

	* ChangeLog:

	[no log message]

2004-03-23 22:34  heller

	* swank-allegro.lisp:

	(send): Wait a bit if there are already many message in the mailbox.

2004-03-23 22:32  heller

	* swank-clisp.lisp:

	(set-default-directory):  New function.  Patch from Alan Shutko.

	(xref-results): Use fspec-location instead of the of
	fspec-source-locations.

	(break): Be friendly to case-inverting readtables.

2004-03-23 22:29  heller

	* swank-lispworks.lisp:

	(emacs-connected): Add default method to
	environment-display-notifier.  We just display invoke our debugger.

	(set-default-directory, who-specializes): Implemented for Lispworks.

	(gfp): New function.

	(describe-symbol-for-emacs, describe-definition): Distinguish between
	ordinary and generic functions.

	(call-with-debugging-environment): Unwind a few frames.  Looks better
	and avoids the problems with the real topframe.

	(interesting-frame-p): Use Lispworks dbg:*print-xxx* variables to
	decide which frames are interesting.

	(frame-actual-args): New function.
	(print-frame): Use it.

2004-03-23 22:23  heller

	* swank.lisp:

	(open-streams, make-output-function): Capture the connection not only
	the socket.  This was the streams can be used from unrelated threads.
	(create-connection): Factorized.  Initialize the streams after the
	connection is created.
	(initialize-streams-for-connection, spawn-threads-for-connection): New
	functions.

	(with-connection): Fix quoting bug and move upwards before first use.

	(send-output-to-emacs): Add kludge for SBCL !-package names.

	(apropos-list-for-emacs): Lispworks apparently returns duplicates;
	remove them.

	(inspect-object): Princ the label to allow strings and symbols.

	(send-output-to-emacs): Deleted.
	(defslimefun-unimplemented): Deleted.  Was unused.

2004-03-23 22:06  heller

	* slime.el:

	(slime-easy-menu): Add some commands.

	(slime-changelog-date): New variable. Initialized with the value
	returned by the function of the same name.  This detects incompatible
	versions if Emacs has not been restarted after an upgrade.
	(slime-check-protocol-version, slime-init-output-buffer): Use it.

	(slime-events-buffer, slime-log-event): Use fundamental mode instead
	of lisp-mode to avoid excessive font-locking for messages with lots of
	strings.

2004-03-22 17:35  lgorrie

	* ChangeLog:

	"Zach" -> "Zach Beane"

2004-03-22 15:06  lgorrie

	* ChangeLog:

	[no log message]

2004-03-22 14:57  lgorrie

	* slime.el:

	Updated expected arglist in test suite.

2004-03-22 14:57  lgorrie

	* swank-sbcl.lisp:

	(*communication-style*): New name for *swank-in-background*.

2004-03-22 14:56  lgorrie

	* swank.lisp:

	(*communication-style*): New name for *swank-in-background*.

	Exported configuration variables: *communication-style*, *log-events*,
	*use-dedicated-output-stream*.

2004-03-22 14:55  lgorrie

	* doc/Makefile, doc/slime.texi, doc/texinfo-tabulate.awk,
	  swank-backend.lisp:

	[no log message]

2004-03-20 19:56  heller

	* ChangeLog:

	[no log message]

2004-03-20 19:55  heller

	* swank-sbcl.lisp:

	(+o_async+, +f_setown, +f_setfl+): Add correct constants for FreeBSD.

2004-03-19 22:07  lgorrie

	* ChangeLog:

	[no log message]

2004-03-19 22:07  lgorrie

	* swank-loader.lisp, swank.lisp:

	Take into account `pathname-device' when deriving paths. A fix for
	Windows.

2004-03-19 22:04  lgorrie

	* slime.el:

	(slime-connected-hook): New hook called each time SLIME successfully
	connects to Lisp. This is handy for calling
	`slime-ensure-typeout-frame', if you want to use that feature.

	(sldb-print-condition): New command to print the SLDB condition
	description into the REPL, for reference after SLDB exits. Can be
	called from `sldb-hook' if you want the condition to always be
	printed. Bound to 'P' in SLDB.

2004-03-18 22:59  heller

	* ChangeLog:

	[no log message]

2004-03-18 22:57  heller

	* swank.lisp:

	(format-values-for-echo-area): Bind *package* to *buffer-package*.

	(load-system-for-emacs): Renamed from swank-load-system.

	(carefully-find-package): Be friendly to case inverting readtables.

	(inspect-current-condition): New function.

2004-03-18 22:55  heller

	* swank-backend.lisp, swank-cmucl.lisp:

	(set-default-directory): New backend function.

2004-03-18 22:53  heller

	* swank-allegro.lisp, swank-clisp.lisp, swank-lispworks.lisp,
	  swank-sbcl.lisp:

	(swank-compile-string): Be friendly to case-inverting readtables.

2004-03-18 22:14  heller

	* slime.el:

	(sldb-inspect-condition): Use swank:inspect-current-condition.

	(slime-inspector-label-face): Make it bold by default.

	(slime-check-protocol-version, slime-process-available-input): Wait 2
	secs after displaying the error message.

	(sldb-list-catch-tags, sldb-show-frame-details): Display catch tags as
	symbols not as strings.

2004-03-16 22:24  heller

	* ChangeLog:

	[no log message]

2004-03-16 22:20  heller

	* slime.el:

	(slime-dispatch-event, slime-rex): Pass a form instead of a string
	with :emacs-rex.

	(slime-connection-name): New connection variable.  Use it in various
	places instead of slime-lisp-implementation-type-name.

2004-03-16 22:17  heller

	* swank.lisp:

	Better symbol completion for case-inverting readtables.
	(output-case-converter): New function.
	(find-matching-symbols): Case convert the symbol-name before comparing.
	(compound-prefix-match, prefix-match-p): Use char= instead of char-equal.

	(eval-for-emacs): Renamed from eval-string.  Take a form instead of a string.
	(dispatch-event, read-from-socket-io): Update callers.

	(eval-region, interactive-eval): Use fresh-line to reset column.

	(case-convert-input): Renamed from case-convert.

2004-03-13 16:44  heller

	* ChangeLog:

	[no log message]

2004-03-13 16:39  heller

	* slime.el:

	(slime-enclosing-operator-names): New function
	(slime-space): Use it to get better info if we are inside a
	macro. Suggested by Christophe Rhodes.

2004-03-13 16:34  heller

	* swank.lisp:

	(arglist-for-echo-area): Renamed from arglist-string.
	(format-arglist-for-echo-area, arglist-to-string): New functions.

2004-03-12 22:20  heller

	* ChangeLog:

	[no log message]

2004-03-12 22:16  heller

	* swank-backend.lisp:

	(find-definitions): Fix docstring.

2004-03-12 22:15  heller

	* slime.el:

	(slime-dispatch-event): Re-enable :ed command.
	(sldb-return-from-frame): Send swank:sldb-return-from-frame.

2004-03-12 22:12  heller

	* swank-cmucl.lisp:

	(find-definitions): Allow names (setf car).

2004-03-12 22:11  heller

	* swank.lisp:

	(sldb-return-from-frame): Convert the string to a sexp.
	(dispatch-event, send-to-socket-io): Allow %apply events.

	(safe-condition-message): Bind *pretty-print* to t.

	(set-default-directory): Use the truename.

	(find-definitions-for-emacs): Allow names like (setf car).

2004-03-12 06:36  wjenkner

	* ChangeLog:

	[no log message]

2004-03-12 06:35  wjenkner

	* swank.lisp:

	(:swank): Export startup-multiprocessing, restart-frame,
	return-from-frame.  What about kill-thread and interrupt-thread, which
	are accessed as internal symbols?

2004-03-10 23:12  heller

	* ChangeLog:

	[no log message]

2004-03-10 23:10  heller

	* swank-cmucl.lisp:

	(find-definitions): Include setf defintions compiler-macros and
	transforms.

2004-03-10 19:51  heller

	* ChangeLog:

	[no log message]

2004-03-10 19:49  heller

	* swank-cmucl.lisp:

	(struct-definitions, find-dd, type-definitions): New functions.
	(find-definitions): Include struct and type definitions.

2004-03-10 18:10  heller

	* swank.lisp:

	[no log message]

2004-03-10 18:10  heller

	* swank.lisp:

	Fix test.

2004-03-10 16:50  heller

	* ChangeLog:

	[no log message]

2004-03-10 16:49  heller

	* swank.lisp:

	(print-arglist): Use with-standard-io-syntax to avoid further surprises.

2004-03-10 16:45  heller

	* swank.lisp:

	(:swank): export profile symbols (profiled-functions, profile-report,
	profile-reset, unprofile-all, profile-package).

2004-03-10 16:43  heller

	* swank-cmucl.lisp:

	(unprofile-all): (eval '(profile:unprofile)) instead of just calling
	it since it is a macro in cmucl.

2004-03-10 11:03  heller

	* swank-openmcl.lisp:

	Merge remove conficts

2004-03-10 10:10  heller

	* slime.el, swank-cmucl.lisp, swank-lispworks.lisp,
	  swank-sbcl.lisp:

	more tweaking.

2004-03-10 09:30  heller

	* ChangeLog:

	q

2004-03-10 09:24  heller

	* swank-clisp.lisp, swank-cmucl.lisp, swank-allegro.lisp,
	  swank-lispworks.lisp, swank-sbcl.lisp:

	(find-definitions): Some tweaking.

2004-03-10 09:23  heller

	* swank.lisp:

	(print-arglist): Bind *pretty-circle* to nil to avoid output like
	"(function . (cons))" for (function cons).
	(test-print-arglist): Re-enable the tests

	(find-definitions-for-emacs): Renamed from find-function-locations.

2004-03-10 09:21  heller

	* slime.el:

	(slime-edit-definition): Renamed from slime-edit-fdefinition.  Display
	the dspec if there are multiple definitions.

	(slime-symbol-name-at-point): Handle the case when there is no symbol
	at point.

	(slime-expected-failures): New function
	(slime-execute-tests): Use it.

2004-03-09 21:43  heller

	* ChangeLog:

	[no log message]

2004-03-09 21:41  heller

	* swank.lisp:

	Disable print-arglist tests.

2004-03-09 21:12  heller

	* test-all.sh:

	New file.

2004-03-09 21:07  heller

	* ChangeLog, swank-allegro.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp:

	Remove stupid conflicts.

2004-03-09 20:36  heller

	* ChangeLog:

	[no log message]

2004-03-09 20:35  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-cmucl.lisp,
	  swank-gray.lisp, swank-lispworks.lisp, swank-loader.lisp,
	  swank-openmcl.lisp:

	Minor modifications.

2004-03-09 20:33  heller

	* swank.lisp:

	Merge remaining stuff.

2004-03-09 19:48  heller

	* ChangeLog:

	[no log message]

2004-03-09 19:47  heller

	* swank.lisp:

	(frame-source-location-for-emacs): Export it. Reported by Jouni K Seppanen

2004-03-09 14:58  heller

	* swank-gray.lisp:

	(in-package): We are in-package :swank-backend.  Thanks to Raymond
	Wiker.

2004-03-09 14:55  heller

	* swank-source-path-parser.lisp:

	We are in-package :swank-backend.  Thanks to Raymond Wiker.

2004-03-09 13:48  heller

	* ChangeLog:

	[no log message]

2004-03-09 13:46  heller

	* slime.el, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-cmucl.lisp, swank-lispworks.lisp,
	  swank-loader.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Merge package-split branch into main trunk.

2004-03-09 13:11  heller

	* swank-clisp.lisp:

	(find-fspec-location): Handle "No such file" errors.

2004-03-09 12:51  heller

	* ChangeLog:

	[no log message]

2004-03-09 12:49  heller

	* swank-openmcl.lisp:

	(preferred-communication-style): Implemented.

	(call-without-interrupts, getpid): Use defimplementation.

	(arglist, swank-compile-file, swank-compile-string)
	(swank-compile-system, backtrace): Renamed.

	(print-frame): New function.
	(frame-catch-tags): Don't exclude nil source location.

	(format-restarts-for-emacs, debugger-info-for-emacs, inspect-in-frame). deleted

	(frame-arguments): Don't use to-string.

	(find-source-locations, find-function-locations
	(method-source-location): Deleted.
	(canonicalize-location, find-definitions, function-source-location,
	list-callers): Use ccl::edit-definition-p and
	ccl::get-source-files-with-types&classes.  Makes things easier.

	(return-from-frame): Take a sexp not a string.

	(describe-definition): Describe more types.

2004-03-09 10:03  heller

	* ChangeLog:

	[no log message]

2004-03-09 10:00  heller

	* swank-loader.lisp:

	Change load order. swank.lisp is now the last file.

2004-03-09 09:57  heller

	* swank-allegro.lisp, swank-clisp.lisp, swank-cmucl.lisp,
	  swank-gray.lisp, swank-lispworks.lisp, swank-sbcl.lisp,
	  swank-source-path-parser.lisp:

	Implement changed backend interface and remove references to front end symbols.

2004-03-09 09:55  heller

	* swank-backend.lisp:

	(:swank-backend): New package.

	(definterface): Export the symbol.

	(:location, :error, :position, :buffer): Define structure of source
	locations here.

	(preferred-communication-style, compute-backtrace, print-frame): New
	functions.
	(debugger-info-for-emacs): Deleted.

	Renaming:

	compile-file-for-emacs   -> swank-compile-file
	compile-string-for-emacs -> swank-compile-string
	compile-system-for-emacs -> swank-compile-stystem
	arglist-string           -> arglist
	backrace                 -> compute-backtrace
	find-function-locations  -> find-definitions

2004-03-09 09:46  heller

	* swank.lisp:

	(:swank): Create the package here.

	(*swank-in-background*): Call the backend function
	preferred-communication-style to for the initial value.

	(find-symbol-designator): Handle NIL properly.

	(arglist-string): Renamed from format-arglist.  Call backend function
	directly.

	(*sldb-restarts*, swank-debugger-hook, format-restarts-for-emacs)
	(nth-restart, invoke-nth-restart, sldb-abort):  Handle restarts in the
	front end.

	(frame-for-emacs): Renamed from print-with-frame-label.

	(backtrace, debugger-info-for-emacs, pprint-eval-string-in-frame)
	(set-default-directory): Now in the front end.

	(frame-locals-for-emacs): Use print not princ for variable names.

	(compile-file-for-emacs, compile-string-for-emacs): Small wrappers
	around backend functions.

	(describe-definition-for-emacs): Handle unknown symbols before calling
	the backend.

	(find-function-locations): Wrapper for new backend function
	find-definitions.

	(group-xrefs, partition, location-valid-p, xref-buffer, xref): Updated
	for the new backend functions.

2004-03-09 09:32  heller

	* slime.el:

	(slime-symbol-at-point, slime-symbol-name-at-point):
	slime-symbol-at-point calls slime-symbol-name-at-point not the other
	way around.  This avoids the mess if the symbol at point is NIL.

	(slime-compile-file, slime-load-system, slime-compile-region)
	(slime-call-describer, slime-who-calls, sldb-catch-tags): Updates for
	renamed lisp functions.

	(slime-list-callers, slime-list-callees): Unified with other xref
	commands.

	(sldb-show-frame-details): Catch tags no longer include the source
	location.
	(sldb-insert-locals): Simplified.

2004-03-09 00:46  heller

	* ChangeLog:

	[no log message]

2004-03-09 00:45  heller

	* swank-cmucl.lisp:

	(read-into-simple-string): Use the correct fix.  Reported by Hkon
	Alstadheim.

2004-03-08 08:15  heller

	* ChangeLog:

	[no log message]

2004-03-08 08:14  heller

	* slime.el:

	(slime-start-swank-server, slime-maybe-start-lisp): Translate
	filenames.  Reported by "49gu4n502@sneakemail.com".

	(slime-insert-balanced-comments slime-remove-balanced-comments)
	(slime-pretty-lambdas): New functions.  From Bill Clementson.

2004-03-07 17:42  heller

	* ChangeLog:

	[no log message]

2004-03-07 17:41  heller

	* swank-cmucl.lisp:

	(frame-locals): Use #:not-available instead of "<not-available>".

2004-03-07 17:40  heller

	* slime.el:

	Patch by Jouni K Seppanen:
	(sldb-help-summary): New function.
	(sldb-mode): Add docstring so that describe-mode is useful.
	(sldb-mode-map): Add bindings for sldb-help-summary and
	describe-mode.
	(define-sldb-invoke-restart-key): Generate docstrings.
	(sldb-default-action/mouse, sldb-default-action)
	(sldb-eval-in-frame, sldb-pprint-eval-in-frame)
	(sldb-inspect-in-frame, sldb-down, sldb-up, sldb-details-up)
	(sldb-details-down, sldb-list-locals, sldb-quit, sldb-continue)
	(sldb-abort, sldb-invoke-restart, sldb-break-with-default-debugger)
	(sldb-step): Add rudimentary docstrings.

	(slime-complete-symbol*, slime-simple-complete-symbol): Use the
	correct block name when returning.
	(slime-display-completion-list): Fix typo.

2004-03-05 23:55  heller

	* ChangeLog:

	[no log message]

2004-03-05 23:53  heller

	* swank-lispworks.lisp:

	(getpid, emacs-connected): Conditionalize for Windows.  Patch from Bill
	Clementson.

2004-03-05 23:51  heller

	* swank.lisp:

	(frame-locals-for-emacs): Bind *print-readably* to nil.

2004-03-05 15:26  mbaringer

	* ChangeLog, slime.el, swank-allegro.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank.lisp:

	See ChangeLog entry 2004-03-05 Marco Baringer

2004-03-04 23:21  heller

	* ChangeLog:

	[no log message]

2004-03-04 23:19  heller

	* slime.el:

	(slime-display-comletion-list): New function. Set syntax table
	properly.
	(slime-complete-symbol*, slime-simple-complete-symbol): Use it.

	(slime-update-connection-list): New function.
	(slime-draw-connection-list): Simplified.
	(slime-connection-list-mode-map): Bind g to update-connection-list.

	(slime-open-inspector): Print the primitive type in brackets.

	(slime-test-arglist): Add test for empty arglist.

2004-03-04 23:15  heller

	* swank-backend.lisp, swank-allegro.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-lispworks.lisp, swank-sbcl.lisp:

	(thread-alive-p): Add default implementation.

	(describe-primitive-type): Add default implementation.
	(inspected-parts): Implemented for Allegro and CLISP.

2004-03-04 23:12  heller

	* swank.lisp:

	(remove-dead-threads): New function.
	(lookup-thread): Use it.

	(print-arglist): New function. This time without binding pretty
	dispatch table.
	(format-arglist): Use it.

	(inspected-parts): Add method for hash-tables.

2004-03-03 21:57  heller

	* ChangeLog:

	[no log message]

2004-03-03 21:55  heller

	* swank-allegro.lisp, swank-clisp.lisp, swank-cmucl.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp:

	(call-with-compilation-hooks): Bind fewer variables. Most of them are already
	bound in swank.lisp.

2004-03-03 21:52  heller

	* swank.lisp:

	Use *emacs-connection*, *active-threads*, and *thread-counter* as
	thread local dynamic variables.
	(init-emacs-connection): Don't set *emacs-connection*.
	(create-connection, dispatch-event): Pass the connection object to
	newly created threads.
	(with-connection): New macro
	(handle-request, install-fd-handler, debug-thread): Use it.

2004-03-03 09:53  heller

	* ChangeLog:

	[no log message]

2004-03-03 09:51  heller

	* swank.lisp:

	(setup-server, serve-connection): New dont-close argument to keep the
	socket open after the first request.
	(start-server, create-swank-server): Update callers.

2004-03-03 08:34  heller

	* ChangeLog:

	[no log message]

2004-03-03 08:28  heller

	* swank-cmucl.lisp:

	((resolve-note-location t nil nil nil nil)) Don't be too clever.

	(compile-file-for-emacs): Use the :load argument to compile-file.

	(inspect-in-frame): Deleted.

2004-03-03 08:26  heller

	* slime.el:

	(slime-compilation-finished-hook): Use slime-maybe-list-compiler-notes
	as default.
	(slime-maybe-list-compiler-notes): New function.

	(slime-list-compiler-notes): Insert "[no notes]" if there aren't
	any. Pop to the buffer.

	(slime-complete-symbol*, slime-simple-complete-symbol): Set the
	lisp-mode-syntax-table in the completion buffer.

	(check-parens): Compatibility function for XEmacs and Emacs 20.

2004-03-03 08:18  heller

	* swank.lisp:

	(find-completions): Deleted.
	(simple-completions): Use longest-common-prefix instead of
	longest-completion.

	(inspect-in-frame): Moved here from swank-cmucl.lisp.

2004-03-03 08:08  heller

	* swank-lispworks.lisp:

	(call-with-debugging-environment): Bind *sldb-top-frame*.
	(nth-frame): Use *sldb-top-frame*.

	(name-source-location, name-source-locations): Renamed from
	dspec-source-location, dspec-source-locations.  The result now
	 includes methods for generic functions.

	(eval-in-frame, return-from-frame, restart-frame): Implemented.

	(compile-string-for-emacs): Set dspec::*location* to the buffer
	location.
	(signal-undefined-functions, signal-error-data-base)
	(make-dspec-location): Remove temp-file kludges.
	(patch-source-locations, replace-source-file): Deleted.

2004-03-01 16:46  mbaringer

	* ChangeLog, swank.lisp:

	See ChangeLog entry Marco Baringer 2004-03-01

2004-03-01 10:04  heller

	* ChangeLog:

	[no log message]

2004-03-01 10:02  heller

	* swank-allegro.lisp, swank-cmucl.lisp, swank-sbcl.lisp:

	(kill-thread): Implemented.

2004-03-01 09:59  heller

	* swank-lispworks.lisp:

	(dspec-buffer-position): Handle defgeneric.

	(replace-source-file, patch-source-locations): New function.
	(compile-string-for-emacs): Patch the recorded source locations.

	(make-dspec-location): Handle (patched) emacs-buffer locations.
	(emacs-buffer-location-p): New function.

	(describe-primitive-type, inspected-parts): Implemented.

	(kill-thread): Implemented.

2004-02-29 10:07  heller

	* ChangeLog:

	[no log message]

2004-02-29 10:05  heller

	* slime.el:

	(slime-complete-symbol): Make slime-complete-symbol customizable.  I
	don't understand how the ILISP style completion is supposed to work,
	and find it unintuitive.
	(slime-complete-symbol-function): New variable.
	(slime-complete-symbol*): New function.
	(slime-simple-complete-symbol, slime-simple-completions): New function.

	(slime-compiler-notes-to-tree): Return a list of trees, not single
	tree.

2004-02-29 09:59  heller

	* swank.lisp:

	(format-arglist): Don't use custom pprint table.  Didn't work with
	CLISP and the behavior was different in SBCL and Lispworks.

	(completions): Factorize.
	(parse-completion-arguments, format-completion-set,
	(completion-set, find-matching-symbols, find-completions): New functions.
	(simple-completions): New function.
	(prefix-match-p) New function.

2004-02-28 10:13  heller

	* ChangeLog:

	[no log message]

2004-02-28 10:11  heller

	* slime.el:

	(slime-compilation-finished-hook): New hook variable.
	(slime-compilation-finished): Call it.
	(slime-maybe-show-xrefs-for-notes): New function.

	(slime-make-default-connection): Use the current connection.

	(slime-connection-at-point): New function.
	(slime-goto-connection, slime-connection-list-make-default): Use it.
	(slime-draw-connection-list): Minor cleanups.

	Define selectors for t and c for thread and connection list.

2004-02-28 10:06  heller

	* swank.lisp:

	(*initial-pprint-dispatch-table*, *arglist-pprint-dispatch-table*):
	Workaround for bug in CLISP. Don't supply nil as argument to
	copy-pprint-dispatch.

	(print-cons-argument): Insert a space after the car.

2004-02-27 13:32  mbaringer

	* ChangeLog, slime.el, swank-backend.lisp, swank-openmcl.lisp,
	  swank.lisp:

	See ChangeLog entry "2004-02-27 Macro Baringer"

2004-02-26 23:31  pseibel

	* ChangeLog, slime.el:

	Changing connection list to use text-properties instead of regexp to find connection.

2004-02-26 20:20  pseibel

	* ChangeLog, slime.el:

	Change slime-list-connections to be a bit more useful.

2004-02-26 19:38  mbaringer

	* ChangeLog, swank-openmcl.lisp:

	[no log message]

2004-02-26 08:19  heller

	* ChangeLog:

	[no log message]

2004-02-26 08:17  heller

	* swank-backend.lisp:

	(:swank): export connection-info.

2004-02-26 08:16  heller

	* swank-allegro.lisp:

	(lisp-implementation-type-name): Implement it.

2004-02-26 08:15  heller

	* swank-sbcl.lisp:

	(compile-file-for-emacs): Load the fasl file regardless of f-p.

2004-02-26 08:13  heller

	* swank.lisp:

	(swank-pprint): Bind *package* to *buffer-package*.

2004-02-26 08:12  heller

	* swank-lispworks.lisp:

	(dspec-buffer-position): Renamed from dspec-buffer-buffer-position.
	Handle dspecs of the form (defmacro foo).

	(arglist-string): Handle unknown arglists properly.

2004-02-25 23:12  heller

	* ChangeLog:

	[no log message]

2004-02-25 23:03  heller

	* swank-cmucl.lisp:

	(compile-file-for-emacs): Load the fasl file even irrespective of
	COMILE-FILE's third return value.

2004-02-25 22:01  heller

	* ChangeLog:

	[no log message]

2004-02-25 21:51  heller

	* swank-cmucl.lisp:

	(arglist-string): Delay the call to di::function-debug-function until
	it is actually needed.

2004-02-25 21:49  heller

	* swank.lisp:

	(connection-info): New function.

	(open-streams): Don't send the :check-protocol-version message.  Now
	handled with CONNECTION-INFO.

2004-02-25 21:47  heller

	* slime.el:

	(slime-symbol-at-point): Don't skip backwards across whitespace when
	we are at the first character of a symbol.  To handle this case: skip
	symbol constituents forward before skipping whitespace backwards.
	Reported by Jan Richter.

	(slime-connection-close-hook, slime-next-connection)
	(slime-make-default-connection): Remove extra call to format.

	(slime-init-connection-state): Use only a single RPC instead of 4 to
	initialize the connection.

2004-02-25 09:06  heller

	* ChangeLog:

	[no log message]

2004-02-25 09:05  heller

	* slime.el:

	(sldb-fetch-more-frames): Use (goto-char (point-max)) instead of
	end-of-buffer.

2004-02-25 08:29  heller

	* ChangeLog:

	[no log message]

2004-02-25 08:27  heller

	* slime.el:

	(slime-with-chosen-connection): Bind slime-dispatching-connection and
	not slime-buffer-connection.  slime-buffer-connection is a buffer
	local variable not a dynamic variable.

	(slime-find-connection-by-type-name)
	(slime-read-lisp-implementation-type-name): Where lost during the merge.

2004-02-25 00:32  heller

	* ChangeLog:

	[no log message]

2004-02-25 00:31  heller

	* slime.el, swank-backend.lisp, swank-clisp.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	* slime.el: Various bits of support for maintaining multiple SLIME
	connections to different Lisp implementations simultaneously.

	* swank-{backend,cmucl,sbcl,clisp,lispworks,openmcl}.lisp
	(lisp-implementation-type-name): Add function to
	return simple name of lisp implementation; used by new
	multi-connection functionality in slime.el.

2004-02-25 00:27  heller

	* swank.lisp:

	(format-arglist): Use an special pprint-dispatch table.

2004-02-23 23:14  heller

	* slime.el:

	(slime-find-unbalanced-parenthesis): Delete it.  Emacs 21 has already
	check-parens.

2004-02-23 22:13  heller

	* slime.el:

	(slime-find-unbalanced-parenthesis): New command. Bound to C-c C-).

2004-02-23 08:21  heller

	* ChangeLog:

	[no log message]

2004-02-23 08:21  heller

	* swank-cmucl.lisp, swank.lisp:

	* swank.lisp (format-arglist): Bind *PRINT-PRETTY* to NIL.
	(eval-in-emacs): Fix typo in docstring.

	* swank-cmucl.lisp (arglist-string): Bind *PRINT-PRETTY* to NIL.

2004-02-21 17:45  heller

	* ChangeLog:

	[no log message]

2004-02-21 17:42  heller

	* swank-sbcl.lisp:

	(add-sigio-handler, remove-sigio-handlers): Renamed.
	(add-fd-handler,  remove-fd-handlers): Implement interface.

2004-02-21 17:42  heller

	* swank-cmucl.lisp:

	(fcntl): New function.
	(add-sigio-handler, remove-sigio-handlers): Renamed.
	(add-fd-handler,  remove-fd-handlers): Implement interface.

2004-02-21 17:37  heller

	* swank.lisp:

	(create-connection): Add support for fd-handlers.
	(install-fd-handler,  deinstall-fd-handler): New functions.

2004-02-21 17:35  heller

	* swank-backend.lisp:

	(add-sigio-handler): Renamed from add-input-handler.
	(remove-sigio-handlers): Renamed from remove-input-handlers.
	(add-fd-handler, remove-fd-handlers): New interface functions.

2004-02-21 17:34  heller

	* slime.el:

	(slime-batch-test): Use sit-for instead of accept-process-output, so
	that we see something when swank gets compiled.  May be problematic in
	real batch mode.

	(loop-interrupt-continue-interrupt-quit): Wait a second before
	interrupting.  The signal seems to arrive before the evaluation
	request if don't wait => the endless loop is executed inside the
	debugger and sldb-quit will not be processed with fd-handlers.

2004-02-21 08:37  heller

	* ChangeLog:

	[no log message]

2004-02-21 08:35  heller

	* swank.lisp:

	(process-available-input): Move auxiliary function to toplevel.  Test
	if the stream is open.
	(install-sigio-handler): Handle the first request after installing the
	signal handler.

2004-02-21 08:32  heller

	* slime.el:

	(slime-keys): Bind it to C-c C-x t to slime-list-threads and C-c C-x c
	to slime-list-connections.

	(slime): Disconnect before reconnecting if the inferior-lisp buffer
	wasn't renamed.

	(slime-connect): Use the host argument and the "localhost".

	(slime-compilation-finished): Undo last change.  We need to switch to
	the buffer to remove old annotations.

	(slime-choose-overlay-region): Ignore errors in slime-forward-sexp.

2004-02-18 20:46  heller

	* ChangeLog:

	[no log message]

2004-02-18 20:43  heller

	* slime.el:

	(slime): Just close the connection when called without
	prefix-argument.  Keeping the connection open doesn't make sense.  We
	could ask if the Lisp process should be killed, tough.

	(slime-maybe-close-old-connections): Delete unused function.

	(slime-start-swank-server): Use comint-send-string instead of
	comint-proc-query, 'cause I don't like Olin "100%" Shivers' code.

	(slime-init-output-buffer): Show some animations.

	(slime-repl-clear-output): Fixed.

	(slime-compilation-finished): It's not necessary to switch to the
	original buffer, because the buffer is encoded in the
	source-locations.

	(sldb-show-source): Don't raise an error if the source cannot be
	located.  Print a message instead, because errors in process-filters
	cause a 1 second delay.

2004-02-18 20:31  heller

	* swank-cmucl.lisp:

	(read-into-simple-string): Workaround for bug in read-sequence.

2004-02-18 08:35  heller

	* ChangeLog:

	[no log message]

2004-02-18 08:32  heller

	* swank-clisp.lisp:

	Update comments about metering package.

2004-02-18 08:31  heller

	* swank-loader.lisp:

	Place the fasl files of different implementations in different
	directories.  Patch by Peter Seibel.

2004-02-18 08:25  heller

	* metering.lisp:

	Imported from CLOCC.

2004-02-17 22:57  heller

	* ChangeLog:

	[no log message]

2004-02-17 22:54  heller

	* slime.el, swank.lisp:

	(make-compiler-note): Don't send the short-message across the wire if
	the slot is nil.

2004-02-17 22:51  heller

	* swank-cmucl.lisp:

	(clear-xref-info): Compare the truenames with equalp instead of the
	unix-truenames.  The old version was very inefficient (clearing the
	tables with about 1000 entries required serveral seconds).

	(xref-context-derived-from-p, pathname=): Delete unused functions.

2004-02-17 22:48  heller

	* swank-clisp.lisp:

	(remove-input-handlers): socket:socket-stream-handle is not available
	on Windows.  Reported by Alan Shutko.

2004-02-17 22:47  heller

	* slime.el:

	(slime-length>): New function.
	(slime-compiler-notes-to-tree): Don't collapse if there is only one
	kind of notes.

2004-02-16 23:07  heller

	* ChangeLog:

	[no log message]

2004-02-16 22:46  heller

	* swank.lisp:

	(make-compiler-note): Include short-message.

2004-02-16 22:45  heller

	* swank-sbcl.lisp:

	(signal-compiler-condition): Initialize short-message slot.
	(long-compiler-message-for-emacs): New function.

2004-02-16 22:44  heller

	* swank-cmucl.lisp:

	(handle-notification-condition): Don't use the context of the previous
	message.
	(signal-compiler-condition): Set short message slot.
	(long-compiler-message-for-emacs): New function.

	(sigio-handler): Ignore arguments.

2004-02-16 22:40  heller

	* swank-clisp.lisp:

	(set-sigio-handler, add-input-handler): Conditionalize for linux.

2004-02-16 22:39  heller

	* swank-backend.lisp:

	(compile-system-for-emacs): Add default implementation.

	(compiler-condition): New slot short-message.

2004-02-16 22:38  heller

	* slime.el:

	(slime-compilation-finished): Display compiler notes grouped by
	severity in a separate buffer.
	(slime-compilation-finished-continuation, slime-compile-file)
	(slime-load-system, slime-compile-string): Update callers.
	(slime-list-compiler-notes, slime-alistify, slime-tree-for-note)
	(slime-tree-for-severity, slime-compiler-notes-to-tree)
	(slime-compiler-notes-mode, slime-compiler-notes-quit): New functions.
	(with-struct, slime-tree): New code for pseudo tree widget.

	(slime-init-connection-state): Set slime-state-name to "".

2004-02-08 21:13  heller

	* ChangeLog:

	[no log message]

2004-02-08 21:11  heller

	* swank-cmucl.lisp:

	(create-socket): Fix last change.  Use the proper port argument down.

2004-02-08 20:39  heller

	* ChangeLog:

	[no log message]

2004-02-08 20:19  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-clisp.lisp,
	  swank-cmucl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp:

	(create-socket): Take interface as argument.

2004-02-08 20:17  heller

	* slime.el:

	(sldb-show-frame-details): Fix typos.

	(slime-print-apropos): Don't bind action.

	(slime-reset): Kill sldb-buffers.

	(slime-test-find-definition, slime-test-complete-symbol)
	(slime-test-arglist): Add more slime-check-top-level calls.

2004-02-08 20:12  heller

	* swank.lisp:

	(setup-server): Pass loopback-interface to create-socket.
	(*loopback-interface*): New parameter.

	(sldb-loop): Move send :debug event inside unwind-protect, to avoid
	losing :debug-return events.

2004-02-08 16:37  mbaringer

	* swank-openmcl.lisp, swank.lisp:

	Previous commit left out the files and only changed the ChangeLog, my bad.

2004-02-08 16:35  mbaringer

	* ChangeLog:

	See ChangeLog.

2004-02-07 23:33  heller

	* ChangeLog:

	[no log message]

2004-02-07 23:31  heller

	* swank-cmucl.lisp:

	Implement more threading functions.

2004-02-07 23:29  heller

	* swank-sbcl.lisp:

	(inspected-parts): Implemented.

2004-02-07 22:10  heller

	* ChangeLog:

	[no log message]

2004-02-07 21:59  heller

	* slime.el:

	(slime-maybe-start-multiprocessing): Call
	swank:startup-multiprocessing not
	swank:startup-multiprocessing-for-emacs.  Reported by Paolo Amoroso.

2004-02-07 20:34  heller

	* ChangeLog:

	[no log message]

2004-02-07 20:30  heller

	* swank-allegro.lisp, swank-cmucl.lisp, swank-lispworks.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp:

	Update for modified thread interface.

2004-02-07 20:28  heller

	* swank-backend.lisp:

	(thread-name): Take a thread object as argument.
	(thread-status, all-threads, thread-alive-p): New function.

	(thread-id): Deleted.

2004-02-07 20:27  heller

	* swank.lisp:

	(dispatch-event): :debug, :debug-condition, :debug-activate events
	where all encoded as :debug events, which means the debugger never
	worked!  Fix it.  I guess no one uses SLIME with a multithreaded Lisp

	(read-user-input-from-emacs): Flush the output for reading.

	(sldb-loop): Add a sldb-enter-default-debugger tag, so we can enter
	the default debugger by throwing to this it.
	(sldb-break-with-default-debugger): Throw to
	sldb-enter-default-debugger.

	(*thread-list*): New variable.
	(list-threads): New function.

2004-02-07 20:20  heller

	* slime.el:

	(slime-rex): Mention thread argument in docstring.

	(sldb-break-with-default-debugger): Use slime-rex and don't switch to
	the output buffer (happens automatically).

	(slime-list-threads): Renamed from slime-thread-control-panel.
	(slime-thread-insert): Use slightly different layout.

	(slime-give-goahead, slime-waiting-threads)
	(slime-popup-thread-control-panel, slime-register-waiting-thread)
	(slime-thread-goahead): Deleted.

2004-02-07 14:20  heller

	* ChangeLog:

	[no log message]

2004-02-07 14:19  heller

	* swank-sbcl.lisp:

	(enable-sigio-on-fd): New function.  Use fallback if sb-posix:fcntl
	isn't fbound.

2004-02-07 12:41  heller

	* ChangeLog:

	[no log message]

2004-02-07 12:40  heller

	* swank-cmucl.lisp:

	(gf-definition-location): Return an error when pathname for the GF is
	nil (this happens if the GF is not-compiled from a file).

2004-02-07 12:38  heller

	* swank.lisp:

	(undefine-function): New function.

	(print-with-frame-label, print-part-to-string): Bind *print-circle* to
	t, to avoid unbound recursion when printing cyclic data structures.

2004-02-07 12:35  heller

	* slime.el:

	(slime-undefine-function): New command.  Bound to C-c C-u.

2004-02-06 00:21  heller

	* ChangeLog:

	[no log message]

2004-02-06 00:20  heller

	* slime.el:

	(sldb-setup): Offer to enter a recursive edit if there are pending
	continuations.

	(slime-eval): Unwind the stack, thereby exititing recursive edits,
	before signaling the error.

2004-02-05 08:03  heller

	* ChangeLog:

	[no log message]

2004-02-05 08:01  heller

	* swank-openmcl.lisp:

	(compile-system-for-emacs): Remove compile time dependency on ASDF.

2004-02-05 07:03  wjenkner

	* ChangeLog:

	[no log message]

2004-02-05 06:57  wjenkner

	* swank-clisp.lisp, swank-loader.lisp:

	Add profiling support via Kantrowitz's metering package.  Reporting
	needs to be refined (profile-package currently ignores callers-p and
	methods).

2004-02-04 23:22  heller

	* ChangeLog:

	[no log message]

2004-02-04 23:20  heller

	* swank-sbcl.lisp:

	(add-input-handler): Use fcntl from the sb-posix package.

2004-02-04 23:18  heller

	* swank-backend.lisp:

	(debugger-info-for-emacs): Export it.

2004-02-04 23:16  heller

	* swank.lisp:

	(sldb-loop, dispatch-event, send-to-socket-io): Send a :debug-activate
	event instead of a :debug event (to avoid sending a backtrace each time).

	(handle-sldb-condition): Include the thread-id in the message.

2004-02-04 23:14  heller

	* slime.el:

	(slime-path): Use load-file-name as fallback.  Suggested by Lawrence
	Mitchell.

	(slime-dispatch-event): Add support for :debug-activate event.
	(sldb-activate): New function.

	(sldb-mode): make-local-hook doesn't seem to work in Emacs 20.  Use a
	buffer local variable instead.

	(slime-list-connections): Don't print Lisp's state.
	(slime-short-state-name): Deleted.

2004-02-04 23:08  heller

	* swank-openmcl.lisp:

	(mailbox): Use a semaphore instead of process-wait.  Works better with
	native threads.  Patch by Bryan O'Conner.

2004-02-02 08:31  heller

	* ChangeLog:

	[no log message]

2004-02-02 08:31  heller

	* slime.el:

	(slime-debugger): The customization group is called 'slime-debugger',
	fix referrers.  Reported by Jouni K Seppanen.

2004-02-02 08:25  heller

	* swank.lisp:

	(simple-break): Bind *debugger-hook* before invoking the debugger.
	Fixes bug reported by Michael Livshin.

2004-01-31 21:23  heller

	* ChangeLog:

	[no log message]

2004-01-31 21:17  heller

	* swank-sbcl.lisp, swank.lisp:

	Add more type declarations and detect missing initargs for the connection struct.  Patch by Robert E. Brown.

2004-01-31 20:32  heller

	* ChangeLog:

	[no log message]

2004-01-31 20:25  heller

	* slime.el:

	(slime-path): Placed inside a eval-and-compile.  Works around some
	problems when byte-compiling slime-changelog-date.  Patch by Jouni K
	Seppanen.

	(slime-process-available-input): Close the connection on a reader
	error.  Don't use some from the cl package to avoid annoying compiler
	message at load time.

	(slime-sync-state-stack): Deleted.

2004-01-31 16:07  mbaringer

	* ChangeLog, slime.el, swank-backend.lisp, swank-openmcl.lisp:

	see ChangeLog

2004-01-31 12:57  heller

	* ChangeLog:

	[no log message]

2004-01-31 12:50  heller

	* slime.el, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-cmucl.lisp, swank-lispworks.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp, swank.lisp, test.sh:

	Merge stateless-emacs branch into main trunk.

2004-01-31 12:40  heller

	* swank-lispworks.lisp:

	[no log message]

2004-01-31 12:26  heller

	* slime.el, swank-allegro.lisp, swank-backend.lisp,
	  swank-clisp.lisp, swank-cmucl.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank.lisp:

	Use signal driven IO for CMUCL and SBCL.  Use one thread per request
	for multithreaded lisps.

2004-01-31 10:04  heller

	* ChangeLog:

	[no log message]

2004-01-31 10:02  heller

	* swank.lisp, swank-backend.lisp, swank-sbcl.lisp,
	  swank-source-path-parser.lisp:

	Patch by Robert E. Brown.  Add type declarations to keep SBCL quiet.

2004-01-29 09:42  heller

	* ChangeLog:

	[no log message]

2004-01-29 09:37  heller

	* slime.el, swank-backend.lisp, swank-cmucl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Profiler support.  Patch by Michael Weber.

2004-01-25 21:51  lgorrie

	* slime.el, swank.lisp:

	Major restructuring.

	Deleted the Emacs state machine. Emacs is now essentially stateless
	and just does what Lisp tells it to.

2004-01-25 21:51  lgorrie

	* swank-backend.lisp:

	(definterface, defimplementation): Use PROGN instead of PROG1 to
	preserve top-level-ness of expanded DEFGENERIC/DEFMETHOD forms. Lisp
	tip from Tim Moore.

2004-01-24 19:24  aruttenberg

	* ChangeLog:

	[no log message]

2004-01-24 19:18  aruttenberg

	* swank-openmcl.lisp:

	Bind ccl::*signal-printing-errors* to nil inside debugger so that
	error while printing error take us down.

2004-01-23 22:04  heller

	* ChangeLog:

	[no log message]

2004-01-23 22:03  heller

	* swank-sbcl.lisp:

	(eval-in-frame, return-from-frame): Implemented.
	(sb-debug-catch-tag-p): New auxiliary predicate.

	(source-path<): Delete unused function.

2004-01-23 15:18  heller

	* ChangeLog:

	[no log message]

2004-01-23 15:17  heller

	* slime.el:

	(slime-keys): Bind C-c M-p to slime-repl-set-package.
	(slime-easy-menu): Add entry for slime-repl-set-package.

2004-01-23 01:20  heller

	* ChangeLog:

	[no log message]

2004-01-23 01:20  heller

	* swank.lisp:

	(set-package): Return the shortest nickname.

2004-01-23 01:20  heller

	* slime.el:

	(slime-repl-set-package): New command to set the package in the REPL
	buffer.

	(sldb-disassemble): Was lost somewhere.

	Some documentation for the REPL.

2004-01-22 06:24  wjenkner

	* ChangeLog:

	[no log message]

2004-01-22 06:22  wjenkner

	* swank-clisp.lisp:

	Replace defmethod by defimplementation where appropriate.
	(return-from-frame, restart-frame): Implement them.

2004-01-22 01:42  heller

	* ChangeLog:

	[no log message]

2004-01-22 01:40  heller

	* test.sh:

	Copy the ChangeLog file too.

2004-01-22 01:38  heller

	* swank-cmucl.lisp:

	Replace some defmethods with defimplementation.

2004-01-22 01:37  heller

	* swank-allegro.lisp:

	(return-from-frame, restart-name): Implement interface (partly).

2004-01-22 01:36  heller

	* swank-openmcl.lisp:

	(restart-frame, return-from-frame): Remove sldb-prefix.

2004-01-22 01:35  heller

	* swank-backend.lisp:

	(return-from-frame, restart-frame): Are now interface functions.

2004-01-22 01:10  heller

	* swank.asd:

	Remove dependency on :sb-bsd-sockets.  Is already done in swank-sbcl.

2004-01-22 01:09  heller

	* swank-loader.lisp:

	Don't reference the swank package at read-time.

2004-01-22 01:05  heller

	* swank.lisp:

	(completions): Never bind *package* to nil.  That's a type error in
	SBCL.

2004-01-22 00:26  heller

	* swank.lisp:

	(swank-debugger-hook): Flush the output streams and be careful when
	accessing *buffer-package*.

2004-01-22 00:03  heller

	* swank-lispworks.lisp:

	(interesting-frame-p): Don't print catch frames.

2004-01-21 23:35  heller

	* swank-lispworks.lisp:

	(make-sigint-handler): New function.
	(emacs-connected): Use it.

2004-01-21 23:33  heller

	* swank.lisp:

	(create-swank-server): Return the port of the serve socket.

2004-01-21 23:00  heller

	* slime.el:

	(slime-lisp-implementation-type): New per connection variable.

	(slime-handle-oob): Handle debug-condition event.  Can be signaled
	CMUCL when cannot produce a backtrace.

	(slime-debugging-state): Don't pop up the debugger buffer an activate
	events. Annoying.

	(sldb-break-with-default-debugger): Switch to the output buffer before
	returning to the tty-debugger.

	(sldb-return-from-frame, sldb-restart-frame): Use slime-rex.

	(slime-list-connections, slime-short-state-name): New functions.

2004-01-21 00:53  heller

	* slime.el:


	(slime-complete-symbol): Insert the completed-prefix before deleting
	the original text to avoid troubles with left inserting markers.

	(slime-symbol-start-pos): Skip backward across symbol constituents.

	(slime-evaluating-state): [:read-sring] Save the window configuration.
	(slime-read-string-state): Don't handle activate events (troublesome
	if, e.g, complete-symbol is used from another buffer).  Restore the
	window configuration.
	(slime-repl-read-string): Goto the end of buffer.

	(slime-debugging-state): [:activate] Display the debugger buffer if
	not visible.

	(slime-to-lisp-filename, slime-from-lisp-filename)
	(slime-translate-to-lisp-filename-function)
	(slime-translate-from-lisp-filename-function, slime-compile-file)
	(slime-goto-location-buffer, slime-ed, slime-load-file): Support for
	remote filename translation (untested).

2004-01-21 00:41  heller

	* swank.lisp:

	(create-swank-server): Take announce-fn as optional argument.

2004-01-21 00:40  heller

	* swank-allegro.lisp:

	Replace defmethod with defimplementation.

	(eval-in-frame): Implemented.

2004-01-20 22:53  lgorrie

	* ChangeLog:

	[no log message]

2004-01-20 22:53  lgorrie

	* slime.el:

	(slime-prin1-to-string): Replacement for prin1-to-string that avoids
	escaping non-ascii characters in a way that the CL reader doesn't
	understand. Allows use of 8-bit characters in Lisp expressions with
	Emacs in unibyte-mode.

2004-01-20 22:35  lgorrie

	* ChangeLog:

	[no log message]

2004-01-20 22:06  lgorrie

	* slime.el:

	[no log message]

2004-01-20 19:45  lgorrie

	* ChangeLog:

	[no log message]

2004-01-20 19:44  lgorrie

	* slime.el:

	(slime-easy-menu): Added menu items:
	"Eval Region", "Scratch Buffer", "Apropos Package..."

2004-01-20 18:24  lgorrie

	* ChangeLog:

	[no log message]

2004-01-20 18:23  lgorrie

	* slime.el:

	(slime-eval-print-last-expression): Insert a newline before and after
	the result.

2004-01-20 10:14  lgorrie

	* swank-sbcl.lisp:

	Removed redundant MAKE-FN-STREAMS that I had re-added.
	Didn't see that it was common in swank-gray.lisp.

2004-01-19 22:49  lgorrie

	* ChangeLog:

	[no log message]

2004-01-19 22:48  lgorrie

	* swank-openmcl.lisp:

	(thread-id, thread-name): Fixed silly bugs (thanks Marco Baringer).

2004-01-19 22:03  aruttenberg

	* ChangeLog:

	[no log message]

2004-01-19 22:01  aruttenberg

	* swank-openmcl.lisp:

	ppc32::catch-frame.csp-cell -> 3
	ppc32::catch-frame.catch-tag-cell -> 0
	FIXME when Gary says this area of the code is stable.

2004-01-19 21:29  lgorrie

	* ChangeLog:

	[no log message]

2004-01-19 21:28  lgorrie

	* slime.el:

	(slime-close-all-sexp): New command to close all unmatched parens in
	the current defun. Bound to `C-c C-]'. With prefix argument, only
	operate in the region (for closing subforms).
	(Patch from Michael Weber).

2004-01-19 21:15  lgorrie

	* swank-loader.lisp:

	Call (swank:warn-unimplemented-interfaces).

2004-01-19 21:14  lgorrie

	* swank-cmucl.lisp, swank-lispworks.lisp, swank-sbcl.lisp,
	  swank-openmcl.lisp:

	Updated to use `defimplementation'.

2004-01-19 21:14  lgorrie

	* slime.el:

	(sldb-enable-styled-backtrace): This is now true by default.

	(slime-keys): Bound `slime-inspect' to `C-c I'.

	(slime): `M-x slime' now offers to keep existing connections alive
	(else disconnect them). If you disconnect them, the new connection
	gets to reuse the existing REPL.

	(slime-connection): Error if the connection is closed.

	(slime-handle-oob): New message (:ED WHAT) for `slime-ed'.

	(slime-display-output-buffer): Don't pop up the REPL if it is
	already visible in any frame.

	(slime-find-asd): Handle case where (buffer-file-name) is nil.

	(slime-ed): Elisp backend for (CL:ED WHAT).

	(slime-apropos): Add a summary line to apropos listings.

	(slime-print-apropos): Replaced `action' property (name of lisp
	describe function) with `type' (argument to pass to unified
	swank:describe-definition function).

	(slime-apropos-package): New command on `C-c P'. Presents apropos
	listing for all external (with prefix also internal) symbols in a
	package.

2004-01-19 21:13  lgorrie

	* swank-backend.lisp:

	(definterface, defimplementation): New macros as sugar around
	defgeneric/defmethod. This supports conveniently supplying a default
	(on NO-APPLICABLE-METHOD).  Because the underly mechanism is still
	generic functions this doesn't break code that isn't updated.

	(warn-unimplemented-interfaces): Print a list of backend functions
	that are not implemented.

	(xref and list-callers): Defined interfaces for these functions.
	(describe-definition): New function that takes over from the many
	other describe-* functions called from apropos listing. Takes the type
	of definition (as returned by describe-symbol-for-emacs) as an
	argument.

2004-01-19 21:12  lgorrie

	* swank.lisp:

	(ed-in-emacs): New command with the same interface as CL:ED.

2004-01-18 22:54  heller

	* ChangeLog:

	[no log message]

2004-01-18 22:52  heller

	* slime.el:

	(slime-eval-with-transcript): Fix bug triggered when 'package' is a
	buffer local variable.  Reported by Janis Dzerins.

	(slime-batch-test): Wait until the connection is ready.

2004-01-18 21:06  heller

	* ChangeLog:

	[no log message]

2004-01-18 21:04  heller

	* slime.el:

	(compile-defun): Don't use keywords.  The keyword package is locked in
	Lispworks and causes the test-suite to hang.

2004-01-18 21:01  heller

	* swank-lispworks.lisp:

	(sigint-handler): Bind a continue restart.

	(make-dspec-location): Handle stings like pathnames.

	Some multithreading support.

2004-01-18 17:19  aruttenberg

	* ChangeLog:

	[no log message]

2004-01-18 17:18  aruttenberg

	* slime.el:

	sldb-restart-frame, sldb-return-from-frame

2004-01-18 17:17  aruttenberg

	* swank-openmcl.lisp:


	Implement frame-catch-tags. Added debugger functions
	sldb-restart-frame, sldb-return-from-frame. Should probably be added
	to backend.lisp but let's discuss first. Do other lisps support this?

2004-01-18 16:49  wjenkner

	* ChangeLog:

	[no log message]

2004-01-18 16:46  wjenkner

	* swank-clisp.lisp:

	swank-clisp.lisp (call-without-interrupts): Evaluate linux:SIGFOO at
	read time since the macro with-blocked-signals expects a fixnum.

	(compile-file-for-emacs): Comment fix.

2004-01-18 08:59  heller

	* ChangeLog:

	[no log message]

2004-01-18 08:59  heller

	* swank-sbcl.lisp:

	(make-fn-streams): Deleted.  Already defined in swank-gray.lisp.

2004-01-18 08:42  heller

	* ChangeLog:

	[no log message]

2004-01-18 08:39  heller

	* swank-cmucl.lisp:

	(inspected-parts-of-value-cell): Was lost during the inspector refactoring.

2004-01-18 08:21  heller

	* ChangeLog:

	[no log message]

2004-01-18 08:19  heller

	* swank-allegro.lisp:

	(arglist-string): Refactor common code to swank.lisp.

	(call-without-interrupts, getpid): Are now generic functions.

2004-01-18 08:17  heller

	* swank.lisp:

	(find-symbol-or-lose, format-arglist): New functions.

	(without-interrupts): New macro.
	(send-to-emacs): Use it.

2004-01-18 08:15  heller

	* swank-backend.lisp, swank-clisp.lisp, swank-lispworks.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp:

	(arglist-string): Refactor common code to swank.lisp.

	(call-without-interrupts, getpid): Are now generic functions.

2004-01-18 08:11  heller

	* slime.el:

	(arglist): Test slot readers and closures.

2004-01-18 08:10  heller

	* swank-cmucl.lisp:

	(arglist-string): Use pcl:generic-function-lambda-list for generic
	functions.  Handle closures.  Print arglist in lower case.

2004-01-18 06:53  wjenkner

	* ChangeLog:

	[no log message]

2004-01-18 06:52  wjenkner

	* slime.el:

	(slime-changelog-date): Use file-truename of
	byte-compile-current-file.

2004-01-18 06:47  wjenkner

	* swank-clisp.lisp:

	(compile-file-for-emacs, split-compiler-note-line): Revert last
	change.
	(handle-notification-condition): Don't signal the condition.
	(*compiler-note-line-regexp*): Fix and rewrite it as extended regexp.

2004-01-17 11:35  heller

	* ChangeLog:

	[no log message]

2004-01-17 11:23  heller

	* swank-cmucl.lisp:

	(arglist-string): Handle zero argument functions correctly.

2004-01-17 11:22  heller

	* slime.el:

	(slime-format-arglist): Nicer handling of zero argument functions.

2004-01-17 11:03  heller

	* ChangeLog:

	[no log message]

2004-01-17 11:01  heller

	* slime.el:

	(slime-format-arglist): Add some sanity checks.  Suggested by Ivan
	Boldyrev.

	(slime-test-expect): Take test predicate as argument.

	(arglist): Test generic functions.

2004-01-17 10:59  heller

	* swank-cmucl.lisp:

	(arglist-string): Handle generic functions better.  Reported by Ivan
	Boldyrev.

2004-01-16 22:54  heller

	* ChangeLog:

	[no log message]

2004-01-16 22:54  heller

	* swank-allegro.lisp:

	Add multiprocessing support.

2004-01-16 22:51  heller

	* ChangeLog:

	[no log message]

2004-01-16 22:49  heller

	* swank-backend.lisp, swank-cmucl.lisp, swank-openmcl.lisp,
	  swank.lisp:

	Refactor inspector code.

2004-01-16 22:32  heller

	* ChangeLog:

	[no log message]

2004-01-16 22:28  heller

	* swank.lisp:

	(create-swank-server):  Patch by Marco Baringer <mb@bese.it>.  Bring it
	back again.
	(create-connection): Use return the dedicated output stream if
	available.

2004-01-16 22:24  heller

	* slime.el:

	(slime-update-state-name): Take state as argument.
	(slime-repl-beginning-of-defun, slime-repl-end-of-defun): Fix typos.
	(sldb-insert-restarts): Remove duplicate definition.

2004-01-16 08:28  heller

	* ChangeLog:

	[no log message]

2004-01-16 08:26  heller

	* swank.lisp:

	(changelog-date): Use *compile-file-truename* instead of
	*compile-file-pathname*.

	(with-I/O-lock, with-a-connection): The usual CLISP fixes.

2004-01-16 08:23  heller

	* slime.el:

	Numerous REPL related fixes.

2004-01-16 08:10  lgorrie

	* swank-openmcl.lisp:

	Removed $Id$ tag that was making diffs noisy.

2004-01-16 07:51  lgorrie

	* ChangeLog:

	[no log message]

2004-01-16 07:51  lgorrie

	* swank-openmcl.lisp:

	Multiprocessing support.

2004-01-16 07:50  lgorrie

	* swank.lisp:

	(changelog-date): make-pathname portability fix (from alanr).

	(with-io-redirection): Use (current-connection) instead of
	*dispatching-connection* (from alanr).

2004-01-16 07:24  lgorrie

	* swank.lisp:

	(changelog-date): make-pathname portability fix (from alanr).

2004-01-16 07:01  lgorrie

	* ChangeLog:

	[no log message]

2004-01-16 07:01  lgorrie

	* slime.el:

	(slime-init-output-buffer): XEmacs portability fix, and use
	header-line-format to show info about Lisp in Emacs21.

2004-01-15 19:34  heller

	* ChangeLog:

	[no log message]

2004-01-15 19:30  heller

	* swank-cmucl.lisp, swank-sbcl.lisp:

	(remove-input-handlers): New method.

2004-01-15 19:29  heller

	* swank-allegro.lisp:

	(excl:stream-read-char-no-hang): Import it.

	(emacs-connected): Add default method.  The method for
	no-applicable-method doesn't seem to work.  ACL bug?

2004-01-15 19:27  heller

	* swank-loader.lisp:

	(compile-files-if-needed-serially): Don't handle compilation errors.
	We must compile everything because changelog-date requires
	*compile-file-truename*.

2004-01-15 19:23  heller

	* slime.el:

	(slime-connect):

	(slime-changelog-date, slime-check-protocol-version): New functions.
	(slime-handle-oob): Handle :check-protocol-version event.

	(slime-init-output-buffer): Print some info about the remote Lisp.
	(slime-note-transcript-start): Renamed from
	slime-insert-transcript-delimiter.
	(slime-note-transcript-end): New function.
	(slime-with-output-end-mark, slime-repl-insert-prompt)
	(slime-repl-show-result, slime-compile-file)
	(slime-show-evaluation-result): Insert output from eval commands after
	the prompt and asynchronous output before the prompt.  Needs documentation.

	(repl-test, repl-read, interactive-eval-output): New tests.

	(slime-flush-output): Accept output from all processes.

2004-01-15 19:17  heller

	* swank.lisp:

	(serve-requests): New function.
	(setup-server): Use it.
	(start-server): Pass backgroud to setup-server.

	(create-connection): Check the protocol version.
	(changelog-date): New function.

	(make-output-function): Use write-string instead of princ.

2004-01-15 19:15  heller

	* swank-backend.lisp:

	(remove-input-handlers): New function.

2004-01-15 12:43  lgorrie

	* ChangeLog:

	[no log message]

2004-01-15 12:42  lgorrie

	* slime.el:

	(slime-aux-connect, slime-handle-oob): Support for
	(:open-aux-connection port) message where Lisp requests that Emacs
	make a connection. These are "auxiliary" connections which don't (or
	at least shouldn't) have their own REPL etc.

2004-01-15 12:42  lgorrie

	* swank-backend.lisp:

	Changed multiprocessing interface.

2004-01-15 12:41  lgorrie

	* swank-cmucl.lisp:

	Implemented new multiprocessing interface.

	(create-socket): Make FDs non-blocking when multiprocessing is
	enabled.

	(startup-multiprocessing): Set *swank-in-background* to :spawn.

2004-01-15 12:41  lgorrie

	* swank-sbcl.lisp:

	Implemented multiprocessing. Not perfect.

2004-01-15 12:40  lgorrie

	* swank.lisp:

	New support for multiprocessing and multiple connections + commentary.

	(with-a-connection): Macro to execute some forms "with a
	connection". This is used in the debugger hook to automatically create
	a temporary connection if needed (i.e. if the current thread doesn't
	already have one).

	(open-aux-connection): Helper function to create an extra connection
	to Emacs.

2004-01-15 00:44  wjenkner

	* ChangeLog:

	[no log message]

2004-01-15 00:43  wjenkner

	* swank-clisp.lisp:

	(with-blocked-signals): New macro.
	(without-interrupts): Use it.
	(*use-dedicated-output-stream*, *redirect-output*): Don't set them
	here, use the default settings.
	Make :linux one of *features* if we find the "LINUX" package.

2004-01-14 07:54  lgorrie

	* ChangeLog:

	[no log message]

2004-01-14 07:53  lgorrie

	* swank-openmcl.lisp:

	(emacs-connected): Typo fix (missing close-paren).

2004-01-14 00:03  heller

	* ChangeLog:

	[no log message]

2004-01-13 23:56  heller

	* slime.el:

	(slime-input-complete-p): Tolerate extra close parens.
	(slime-idle-state): Don't active the repl.

	(slime-insert-transcript-delimiter): Insert output before prompt.

	(slime-open-stream-to-lisp): Initialize the process-buffer with the
	connection buffer.

	(slime-repl-activate): Deleted.

	(slime-repl-eval-string, slime-repl-show-result,
	slime-repl-show-abort): Better handling of abortion.

	(slime-compile-file): Insert output before prompt.

2004-01-13 23:51  heller

	* swank-lispworks.lisp:

	(create-socket): Fix condition message.

2004-01-13 23:51  heller

	* swank-openmcl.lisp:

	(*swank-in-background*): Set to :spawn.

	(emacs-connected): Set the ccl::*interactive-abort-process*.

2004-01-13 23:49  heller

	* swank.lisp:

	(*swank-in-background*): New variable.
	(start-server): Start swank in background, depending on *swank-in-background*.

2004-01-13 23:48  heller

	* swank-cmucl.lisp, swank-sbcl.lisp:

	(*swank-in-background*): Set to :fd-handler.

2004-01-13 20:28  heller

	* ChangeLog:

	[no log message]

2004-01-13 20:27  heller

	* swank-clisp.lisp:

	(accept-connection): Remove superfluous call to socket-wait.

2004-01-13 19:28  heller

	* ChangeLog:

	[no log message]

2004-01-13 19:21  heller

	* swank-gray.lisp:

	(make-fn-streams): New function.

	(stream-read-char-no-hang, stream-read-char-will-hang-p): Moved to
	here from swank-clisp.lisp.

2004-01-13 19:20  heller

	* swank-allegro.lisp, swank-clisp.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	(create-socket, local-port, close-socket, accept-connection)
	(add-input-handler, spawn): Implement new socket interface.

2004-01-13 19:17  heller

	* swank.lisp:

	(start-server, open-dedicated-output-stream &etc): Use new socket functions.

2004-01-13 19:16  heller

	* swank-backend.lisp:

	(create-socket, local-port, close-socket, accept-connection,
	add-input-handler, spawn): New functions.
	(accept-socket/stream, accept-socket/run): Deleted.

2004-01-13 05:23  lgorrie

	* ChangeLog:

	[no log message]

2004-01-13 05:23  lgorrie

	* swank-backend.lisp:

	(accept-socket/stream, accept-socket/run):
	New functions replacing the ancient (over 24 hours!)
	`create-socket-server'. This interface is much simpler.

2004-01-13 05:23  lgorrie

	* swank-clisp.lisp:

	Updated for new network interface but not tested!
	Probably slightly broken.

2004-01-13 05:22  lgorrie

	* swank-lispworks.lisp:

	Updated for new network interface.

	(accept-socket/stream): This function is currently broken, so
	LispWorks can't use the dedicated output channel at the moment.

2004-01-13 05:21  lgorrie

	* swank.lisp, swank-sbcl.lisp, swank-cmucl.lisp:

	Updated for new network interface.

2004-01-12 07:05  vsedach

	* swank-clisp.lisp:

	File compilation and loading somewhat work now. CLISP's compile-file
	returns some nutty number codes for warning-p and
	failure-p. Meaningful compilation messages still on to-do list.

2004-01-12 06:22  vsedach

	* slime.el:

	Slime-repl-activate now goes to (point-max) at the end. This is the
	easiest kludge I could think of to fix the behavior of read-line (for
	example, on interactive restarts) which puts the pointer on the line
	preceeding the read-line prompt (after emacs has printed slime's
	prompt on the last line). Are there any situations where the slime
	prompt does not in fact get printed at the end of the buffer??

2004-01-12 06:14  vsedach

	* swank.lisp:

	Changed eval-region back to with-input-from-string style. For slime's
	purposes, read-from-string doesn't do the right thing with trailing
	whitespace, which is not easy to work around it.

2004-01-12 06:06  vsedach

	* swank-backend.lisp:

	Fixed () arg in with-compilation-hooks.

2004-01-12 06:05  vsedach

	* swank-clisp.lisp:

	Added support for the new backend.

2004-01-12 05:31  lgorrie

	* ChangeLog:

	[no log message]

2004-01-12 05:31  lgorrie

	* swank.lisp:

	Bugfix: moved some specials up to before they're referenced.

2004-01-12 05:30  lgorrie

	* swank-lispworks.lisp:

	Partially updated for new backend interface, but not actually
	working. The sockets code is broken, I haven't grokked LispWorks the
	interface properly.

2004-01-12 03:14  lgorrie

	* ChangeLog:

	[no log message]

2004-01-12 03:14  lgorrie

	* swank-gray.lisp:

	(slime-input-stream, slime-output-buffer): Added slots to support the
	new `make-fn-streams' interface from swank-backend.lisp. These slots
	need to be initialized by the backend, see swank-sbcl.lisp for an
	example (very easy).

2004-01-12 03:14  lgorrie

	* swank-sbcl.lisp:

	Implemented new server interface.

2004-01-12 01:55  lgorrie

	* HACKING, ChangeLog:

	[no log message]

2004-01-12 01:55  lgorrie

	* swank.lisp:

	Taking over previously non-portable jobs:

	  (start-server): Now only uses sockets code from the backend.

	  (handle-request): Top-level request loop.

	  (open-dedicated-output-stream): Dedicated output socket.

	  (connection): New data structure that bundles together the things that
	  constitute a connection to Emacs: socket-level stream and user-level
	  redirected streams.

2004-01-12 01:52  lgorrie

	* swank-cmucl.lisp:

	(create-socket-server): Generic TCP server driven by SERVE-EVENT.

	(serve-one-request, open-stream-to-emacs): Deleted. Now handled
	portably in swank.lisp.

	(make-fn-streams): Implement new stream-redirection interface.

	(slime-input-stream): New slot referencing output sibling, so it can
	be forced before input requests.

2004-01-12 01:51  lgorrie

	* swank-backend.lisp:

	(create-socket-server): Generic callback-driven TCP server
	interface. Replaces `create-swank-server', with the higher-level logic
	moved into swank.lisp.

	(emacs-connected): Invoked when Emacs initially connects, as a hook
	for backend implementations.

	(make-fn-streams): Interface for creating pairs of input/output
	streams that are backended by callback functions. Used to implement
	redirected-via-Emacs standard I/O streams.

2004-01-12 01:50  lgorrie

	* slime.el:

	(slime-handle-oob): Added :open-dedicated-output-stream message,
	previously implemented with :%apply.

	(slime-repl-read-string, slime-repl-return-string): Pass integer
	argument to `slime-repl-read-mode' to set rather than toggle.

	(slime-events-buffer): Set `hs-block-start-regexp' before running
	`hs-minor-mode'.

2004-01-10 07:52  lgorrie

	* ChangeLog:

	[no log message]

2004-01-10 07:45  lgorrie

	* swank-cmucl.lisp:

	Don't enable xref (let the user decide).

	(set-fd-non-blocking): Removed unused function.

	Miscellaneous refactoring of the networking code.

2004-01-10 07:43  lgorrie

	* slime.el:

	* slime.el (package-updating): Expected package is now a list (can
	be any), since the shortest nickname is not
	standardized. e.g. USER or CL-USER for COMMON-LISP-USER.

2004-01-10 01:16  lgorrie

	* ChangeLog:

	[no log message]

2004-01-10 01:15  lgorrie

	* slime.el:

	(slime-complete-symbol): Use markers to hold the beginning and end of
	the completion prefix in case looking up completions causes insertions
	(e.g. GC announcements).

2004-01-10 00:09  lgorrie

	* ChangeLog:

	[no log message]

2004-01-10 00:00  lgorrie

	* slime.el:

	(slime-next-connection): Fixed a bug where buffer-local connection
	bindings could get in the way and prevent the connection from actually
	changing.

	(slime-complete-restore-window-configuration): Wrap
	`set-window-configuration' in `save-excursion'. This fixes a problem
	where the cursor would end up in the wrong place after completion in
	XEmacs.

2004-01-09 22:52  lgorrie

	* ChangeLog:

	[no log message]

2004-01-09 22:40  lgorrie

	* slime.el:

	(slime-activate-state): Only update state name when
	`slime-default-connection' activates. This fixes an annoying
	"Selecting deleted buffer" bug that prevented SLIME from being
	restarted.

2004-01-09 21:44  heller

	* ChangeLog:

	[no log message]

2004-01-09 21:43  heller

	* slime.el:

	New test for package updates in the listeners.

2004-01-09 20:42  heller

	* swank-backend.lisp:

	(debugger-info-for-emacs, find-function-locations): Doc fix.

2004-01-09 19:56  heller

	* ChangeLog:

	[no log message]

2004-01-09 19:56  heller

	* slime.el:

	Place (require 'cl) inside a eval-and-compile.

	(slime-with-connection-buffer): Move definition upwards before the
	first use.

2004-01-09 19:51  heller

	* swank.lisp:

	(eval-region): Bind *package* outside the unwind-protect to detect updates.

2004-01-09 03:27  wjenkner

	* ChangeLog:

	[no log message]

2004-01-09 03:26  wjenkner

	* swank-clisp.lisp:

	Add methods for GRAY:STREAM-READ-CHAR-NO-HANG and for the CLISP
	specific GRAY:STREAM-READ-CHAR-WILL-HANG-P.  This should fix the
	behaviour of SYS::READ-FORM.

2004-01-08 17:50  lgorrie

	* ChangeLog:

	[no log message]

2004-01-08 17:47  lgorrie

	* slime.el:

	(slime-inspector-fontify): Function to insert a string in a particular
	inspector face. Replaces macro-code-generation function
	`slime-inspector-expand-fontify'.

2004-01-08 08:02  vsedach

	* swank-clisp.lisp, swank.lisp:

	Minor update of CLISP backend (streams, portability). eval-region is now do-based (that loop was just waiting to be scratched :).

2004-01-07 19:10  lgorrie

	* ChangeLog:

	[no log message]

2004-01-07 19:09  lgorrie

	* slime.el:

	(slime-lisp-package): Initially CL-USER nickname instead of
	COMMON-LISP-USER (for REPL prompt).

2004-01-07 02:21  lgorrie

	* ChangeLog:

	[no log message]

2004-01-07 02:21  lgorrie

	* slime.el:

	Multisession internal improvements. Now there are three separate
	connection variables, in order of priority:

	  slime-dispatching-connection (dynamically-bound)
	  slime-buffer-connection      (buffer-local)
	  slime-default-connection     (global)

	The most specific one available is used. This is splitting
	`slime-connection' into multiple variables, so that you can be
	specific about what you want to assign (i.e. know if you're setting a
	dynamic binding or a buffer-local one).

	Fixed some related bugs.

	(slime-connection-close-hook): If default connection closes, select
	another connection.

2004-01-07 01:12  lgorrie

	* ChangeLog:

	[no log message]

2004-01-07 01:12  lgorrie

	* slime.el:

	(slime): Multisession support: with prefix argument, gives the option
	of keeping existing sessions and firing up an additional
	*inferior-lisp* to connect to. Each connection now has its own
	*slime-repl[<n>]* buffer.

	(slime-connection): Should now be read via the function of the same
	name. The accessor will check if the value is NIL, and if so use
	`slime-default-connection'.

	(slime-default-connection): The connection that will be used by
	default, i.e. unless `slime-connection' is bound. Renamed from
	`slime-primary-connection'.

	(slime-init-connection-state): When reconnecting, update the
	`slime-connection' binding in the REPL to use the new connection.

	(slime-repl-input-history, ...): REPL variables are now buffer-local.

2004-01-06 14:50  heller

	* ChangeLog:

	[no log message]

2004-01-06 14:42  heller

	* swank.lisp:

	(eval-string): New argument 'id'.  Used to identify the remote
	continuation.

	(log-event): New debugging function.
	(read-from-emacs, send-to-emacs): Use it.

2004-01-06 14:40  heller

	* slime.el:

	(slime-connect): Select the new connection.
	(slime-init-connection): New optinal argument SELECT.

	(slime-def-connection-var): Workarounds for Emacs 20 reader
	bugs.  Backquote is pretty broken Emacs 20.

	The new macro 'slime-rex' can now be used to evaluate sexp remotely.
	slime-rex provides finer control what to do when the evaluation
	aborts.  slime-eval and slime-eval-async are now implemented with
	slime-rex.

	(slime-rex): New macro
	(slime-eval, slime-eval-async): Use it.
	(slime-continuation-counter, slime-push-evaluating-state): New
	functions.

	(slime-output-buffer): Initialize markers.

	(sldb-mode): XEmacs doesn't like (add-hook (make-local-hook ...)).

	(sldb-continue, sldb-invoke-restart): Use slime-rex.

2004-01-06 14:10  heller

	* swank-loader.lisp:

	(user-init-file): Use mergepathame.  Fix Windows support.  Patch by
	Ignas Mikalajunas <i.mikalajunas@mbt.lt>.

2004-01-05 21:51  lgorrie

	* ChangeLog:

	[no log message]

2004-01-05 21:51  lgorrie

	* slime.el:

	Multiple session support, i.e. Emacs can open multiple connections to
	Lisps. The guts is there, but user-interface is currently minimal.

	(slime-net-process): Replaced with slime-net-processes.

	(slime-net-send): Take process as argument.

	(slime-process-available-input): Poll all connections.

	(slime-connection): Current connection (process) to use for talking to
	Lisp. Can be bound dynamically or buffer-local.

	(slime-with-connection-buffer): Macro to enter the process-buffer of
	`slime-connection' to manipulate the local variables.

	(slime-stack-stack): Now buffer-local in the process-buffer of each
	connection.

	(slime-push-state, slime-pop-state): Operate on the stack inside
	`slime-connection's process-buffer.

	(slime-dispatch-event): Take optional process argument, to bind
	`slime-connection' appropriately when events arrive from the network.

	(slime-def-connection-var): Macro to define variables that are
	"connection-local". Such variables are used via (setf'able) accessor
	functions, and their real bindings exist as local variables in the
	process-buffers of connections. The accessors automatically work on
	`slime-connection'.

	(slime-lisp-features, slime-lisp-package, slime-pid, sldb-level):
	These variables are now connection-local.

	(slime-read-from-minibuffer): Inherit `slime-connection' as
	buffer-local so that we complete towards the right Lisp.

	(sldb-mode): Inherit `slime-connection' as buffer-local so that we
	debug towards the right Lisp.

	(get-sldb-buffer): New function to return (optionally create) the SLDB
	buffer for the current connection. Since multiple Lisps can be
	debugged simultaneously, the buffername now includes the connection
	number.

	(slime-connection-abort): New command to abort a connection attempt
	(don't use `slime-disconnect' anymore - that closes all connections).

	(slime-execute-tests): Honor `slime-test-debug-on-error'.

	(slime-next-connection): Cycle through open Lisp connections.

2004-01-02 19:24  heller

	* ChangeLog:

	[no log message]

2004-01-02 19:23  heller

	* swank-allegro.lisp, swank-clisp.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	(format-condition-for-emacs): Replaced with debugger-condition-for-emacs.

	(backtrace): Use print-with-frame-label.

	(frame-locals): Rename the :symbol property to :name.

2004-01-02 19:20  heller

	* swank.lisp:

	(safe-condition-message): New function.
	(debugger-condition-for-emacs): Used to be
	format-condition-for-emacs in each backend.  Separate the
	condition message from the type description.  Update all backends
	accordingly.

	(print-with-frame-label): New function.

2004-01-02 19:20  heller

	* slime.el:

	(slime-display-output-buffer): Move the output markers
	to the end of the buffer.

	(slime-add-face): New function.
	(sldb-add-face): Use it.

	(sldb-setup): Some refactoring.
	(sldb-insert-condition): New function.  Factorized from
	sldb-setup.  Message and types are now separate.
	(sldb-insert-restarts): New function.  Factorized from sldb-setup.

	(sldb-insert-frame): Factorized from slime-insert-frames. The
	frame number in no longer part of the string describing the frame.
	(sldb-insert-frames): Use it.
	(sldb-show-frame-details): Print frame numbers.  Fix printing of
	catch tags.  Move to the start of the frame before at the
	beginning to get unfontified text properties.

	(sldb-inspect-condition): New command.

	(sldb-insert-locals): The :symbol property is now called :name.
	Fix locals with :id attribute.

	(slime-open-inspector): Fix the bugs I introduced last time.

2004-01-02 11:02  heller

	* ChangeLog:

	[no log message]

2004-01-02 09:40  heller

	* slime.el:

	(slime-hyperspec-lookup): New function.

2004-01-02 09:22  heller

	* ChangeLog:

	[no log message]

2004-01-02 09:21  heller

	* swank-backend.lisp:

	(with-compilation-hooks): Replace () with (&rest _) to make CLISP happy.

2004-01-02 09:17  heller

	* xref.lisp:

	New file.

2004-01-02 09:16  heller

	* swank-loader.lisp:

	Add files for CLISP.

2004-01-02 09:13  heller

	* slime.el:


	(slime-goto-source-location): Support for CLISP style line numbers.
	Split it up.
	(slime-goto-location-buffer, slime-goto-location-position): New functions.

	(slime-load-system): Use slime-display-output-buffer.

	(slime-repl-mode): Disable conservative scrolling. Not sure if it was
	a good idea.

	(sldb-insert-frames, sldb-show-frame-details, sldb-list-locals): Minor fixes.
	(sldb-insert-locals): Renamed from sldb-princ-locals.

	(sldb-invoke-restart): Use slime-eval instead of slime-oneway-eval,
	because interactive restarts may read input.

	(slime-open-inspector): Minor indentation fixes.

	(slime-net-output-funcall): Removed.  Was unused.

2004-01-02 09:01  heller

	* swank-clisp.lisp:

	New file. Merged with Vladimir's version.

2004-01-02 08:58  heller

	* swank.lisp:

	(eval-region, tokenize-completion): Modify loops a bit to make CLISP happy.

2003-12-21 10:21  aruttenberg

	* slime.el:

	fix bug in sldb-princ-locals I introduced when adding fonts to sldb.

2003-12-21 10:20  aruttenberg

	* ChangeLog:

	[no log message]

2003-12-19 07:12  aruttenberg

	* ChangeLog:

	[no log message]

2003-12-19 07:05  aruttenberg

	* slime.el:

	* slime.el 1.156
	 slime-goto-source-location: Sometimes source information is recorded but it isn't a standard "def"
	in that case, don't error out, just look for the most likely place for the definition.

2003-12-19 06:50  aruttenberg

	* swank-openmcl.lisp:

	In request-loop register output stream to be periodically slushed per Gary Byer's email.

2003-12-19 02:10  lgorrie

	* ChangeLog:

	[no log message]

2003-12-19 02:08  lgorrie

	* null-swank-impl.lisp:

	Deleted this old file. See swank-backend.lisp instead.

2003-12-18 20:58  aruttenberg

	* ChangeLog:

	comment bug

2003-12-18 20:57  aruttenberg

	* swank-openmcl.lisp:

	in openmcl (break) now goes into slime debugger.
	(setq swank:*break-in-sldb* nil) to disable that.

2003-12-18 20:56  aruttenberg

	* ChangeLog:

	[no log message]

2003-12-18 07:55  aruttenberg

	* ChangeLog:

	[no log message]

2003-12-18 07:55  aruttenberg

	* slime.el:

	* slime.el 1.155
	Allow font choices for backtrack. Add group for customizing them: sldb.
	Whole thing is enabled with sldb-enable-styled-backtrace which is off by default, for now.
	Try
	'(sldb-condition-face ((t (:foreground "DarkSlateGray" :weight bold))))
	'(sldb-detailed-frame-line-face ((t (:foreground "brown" :weight bold :height 1.2))))
	'(sldb-local-name-face ((t (:weight bold))))
	'(sldb-restart-face ((t (:foreground "DarkBlue" :weight bold))))
	'(sldb-restart-number-face ((t (:underline t :weight bold))))
	'(sldb-restart-type-face ((t (:foreground "DarkSlateGrey" :weight bold))))
	'(sldb-section-face ((t (:weight bold :height 1.2))))
	'(sldb-selected-frame-line-face ((t (:foreground "brown" :weight bold :height 1.2))))
	'(sldb-topline-face ((t (:foreground "brown" :weight bold :height 1.2))))

2003-12-17 23:33  aruttenberg

	* ChangeLog:

	[no log message]

2003-12-17 23:29  aruttenberg

	* slime.el:

	Allow some face choices in the inspector. Try
	 '(slime-inspector-label-face ((t (:weight bold))))
	 '(slime-inspector-topline-face ((t (:foreground "brown" :weight bold :height 1.2))))
	 '(slime-inspector-type-face ((t (:foreground "DarkRed" :weight bold))))
	You can also set slime-inspector-value-face

2003-12-17 22:56  aruttenberg

	* ChangeLog:

	Updated changelog for previous changes.

2003-12-17 22:20  heller

	* ChangeLog:

	[no log message]

2003-12-17 22:19  heller

	* slime.el:

	Better handling of asynchronous output.
	(slime-output-end): New variable.  Use this marker to insert output.
	Insert asynchronous output inserted before the "input region" and
	before the prompt.
	(slime-show-last-output): Use it.
	(slime-repl-insert-prompt): Initialize it.
	(slime-last-output-start): Removed.
	(slime-flush-output): Increase delay to 20 usecs.
	(slime-with-output-end-mark): Renamed from
	slime-with-output-at-eob.  Insert a newline if needed.
	(slime-output-string, slime-repl-activate): Use it.
	(slime-repl-return): Ensure that slime-repl-input-end-mark points to a
	reasonable location.

2003-12-17 19:19  lgorrie

	* ChangeLog:

	[no log message]

2003-12-17 19:19  lgorrie

	* HACKING:

	New file summarising our way of working.

2003-12-17 18:07  aruttenberg

	* swank-openmcl.lisp:

	Fix an error with frame-source-location-for-emacs when the function was a method-function.
	Defined method-source-location that handles this case. You can still end up looking at the wrong
	definition, as the protocol doesn't allow passing back the qualifiers and specializers to look
	up the correct one in the file.

2003-12-17 05:40  aruttenberg

	* slime.el:

	sldb-continue now uses slime-oneway-eval

2003-12-16 13:49  lgorrie

	* ChangeLog:

	[no log message]

2003-12-16 13:49  lgorrie

	* slime.el:

	(slime-read-string-state): Added :emacs-evaluate-oneway.

	(slime-debugging-state): Removed transition for :READ-STRING. Why on
	earth did I add it just an hour or two ago?

2003-12-16 11:28  lgorrie

	* ChangeLog:

	[no log message]

2003-12-16 11:28  lgorrie

	* swank-backend.lisp:

	Exported invoke-nth-restart-for-emacs and sldb-break-with-default-debugger.

2003-12-16 11:07  lgorrie

	* swank.lisp:

	(invoke-nth-restart-for-emacs): Wrapper around INVOKE-NTH-RESTART that
	checks that Lisp and Emacs agree on the debug level. This detects and
	ignores old restart requests when several are sent at once (possible
	because of new oneway-eval feature).

	(oneway-eval-string): New function to evaluate a string without
	sending a result, and with *DEBUGGER-HOOK* bound to NIL. (The debugger
	hook is inhibited to avoid state conflicts.)

2003-12-16 11:07  lgorrie

	* slime.el:

	(slime-output-oneway-evaluate-request): New function to evaluate an
	expression for side-effects (without getting a result).

	(slime-idle-state): Handle new :emacs-evaluate-oneway.

	(slime-debugging-state): Handle :emacs-evaluate-oneway. Also handle
	:read-string.

	(sldb-invoke-restart): Use slime-oneway-eval. This avoids pushing an
	evaluating state (which will be aborted, and print an unnecessary
	message saying so).

	(sldb-break-with-default-debugger): New command to break into the
	default TTY debugger. Bound to 'B' in *sldb*.

2003-12-16 09:22  aruttenberg

	* swank-openmcl.lisp:

	Allow you to continue after interrupting. But you get a message
	"Evaluation aborted" that I have to ask about.

2003-12-16 09:00  lgorrie

	* ChangeLog:

	[no log message]

2003-12-16 08:59  lgorrie

	* slime.el:

	(slime-lisp-preferred-package-nicknames): Removed. Not very
	interesting (and slightly broken) now that shortest-nicknames are
	automatically used.

2003-12-16 04:29  aruttenberg

	* swank-openmcl.lisp:

	fix ccl::force-break-in-listener to move to frame immediately following %pascal-functions% which is where the sigint is effectively caught.

	Fixed type in create-swank-server

2003-12-15 20:13  heller

	* ChangeLog:

	[no log message]

2003-12-15 20:12  heller

	* swank.lisp:

	*start-swank-in-background*: Set to t by default.

2003-12-15 17:08  lgorrie

	* ChangeLog:

	[no log message]

2003-12-15 17:06  lgorrie

	* swank-openmcl.lisp:

	(ccl::force-break-in-listener): Bugfix.

2003-12-15 16:58  lgorrie

	* swank-openmcl.lisp:

	(ccl::force-break-in-listener): Support for interrupting the Lisp subjob
	(by Alan Ruttenberg).

2003-12-15 16:54  heller

	* ChangeLog:

	[no log message]

2003-12-15 16:53  heller

	* slime.el:

	(slime-eval-last-expression-display-output): New command.  Bound to
	C-x M-e.  Suggested by Nicolas Neuss.
	(slime-display-output-buffer): New function.
	(slime-slime-compile-file): Use it.

2003-12-15 13:29  lgorrie

	* ChangeLog:

	[no log message]

2003-12-15 13:29  lgorrie

	* swank.lisp:

	(send-to-emacs): Put back WITHOUT-INTERRUPTS* -- not sure exactly what
	it's for, but I had no actual reason to remove it so I probably broke
	something!

2003-12-15 13:01  lgorrie

	* ChangeLog:

	[no log message]

2003-12-15 13:01  lgorrie

	* swank.lisp:

	(eval-region, shortest-package-nickname): Report the shortest package
	nickname to Emacs (for the REPL prompt). Patch from Marco Baringer.

2003-12-15 06:29  lgorrie

	* ChangeLog:

	[no log message]

2003-12-15 06:29  lgorrie

	* swank.lisp:

	(*processing-rpc*, *multiprocessing-enabled*, (with-conversation-lock,
	with-I/O-lock): New macros.

	(read-next-form): Use with-I/O-lock.

	(send-to-emacs): Use with-I/O-lock instead of
	without-interrupts*. (But should we have without-interrupts* too?)

	(swank-debugger-hook): When called asynchronously (i.e. not during
	RPC) and multiprocessing is enabled, suspend until acknowleged by
	Emacs.

	(install-global-debugger-hook): Install a SLIME-DEBUGGER-FUNCTION
	globally on *DEBUGGER-HOOK*.

	(startup-multiprocessing-for-emacs): Called to initialize multiprocessing.

	(eval-string): Dynamically set the *PROCESSING-RPC* flag.

	(eval-string): Nasty hack with *DEBUGGER-HOOK-PASSBACK* to install
	debugger hook. Temporary, I swear!

2003-12-15 06:28  lgorrie

	* swank-cmucl.lisp:

	Implmemented the multiprocessing interface.

2003-12-15 06:27  lgorrie

	* swank-backend.lisp:

	Defined multiprocessing interface.

2003-12-15 06:27  lgorrie

	* slime.el:

	(slime-multiprocessing): When true, use multiprocessing in Lisp if
	available.

	(slime-global-debugger-hook): When true, globally set *debugger-hook*
	to use the SLIME debugger. For use with SERVE-EVENT and
	multiprocessing.

	(slime-handle-oob): Handle :AWAITING-GOAHEAD message from threads that
	have suspended to wait for Emacs's attention.

	(slime-give-goahead): New command to allow a suspended thread to
	continue (bound to RET in the thread-control-panel).

	(slime-thread-control-panel): New command to display a buffer showing
	all threads that are suspending waiting for Emacs's attention. Bound
	to `C-c C-x t'.

	(slime-popup-thread-control-panel): When true, automatically popup the
	thread-control buffer when a new thread suspends.

2003-12-14 09:27  heller

	* ChangeLog:

	[no log message]

2003-12-14 09:24  heller

	* swank-openmcl.lisp:

	Mega patch by Alan Ruttenberg.  Implements eval-in-frame and inspector
	support.

2003-12-14 09:02  heller

	* ChangeLog:

	[no log message]

2003-12-14 08:59  heller

	* swank-lispworks.lisp:

	(tracedp, toggle-trace-fdefinition): Moved to swank.lisp.

2003-12-14 08:58  heller

	* swank-allegro.lisp:

	(create-swank-server): Add support for BACKGROUND and CLOSE argument.

	(call-with-debugging-environment): Use excl::int-newest-frame to avoid
	the kludge with *break-hook*.

	(sldb-abort): Add Allegro support.
	(frame-source-location-for-emacs): Add dummy definition.

	(compile-file-for-emacs): The argument is called :load-after-compile
	and not :load.

	(xref-results-for-emacs): Use dolist instead of loop.

2003-12-14 08:55  heller

	* swank-openmcl.lisp:

	(create-swank-server): Add support for BACKGROUND and CLOSE argument.
	(open-stream-to-emacs): Support for dedicated output stream.

2003-12-14 08:52  heller

	* swank.lisp:

	*start-swank-in-background*, *close-swank-socket-after-setup*,
	*use-dedicated-output-stream*: Moved here from swank-cmucl.

	(sldb-continue): Don't pass the condition as argument, because that
	*doesn't work with Allegro.

	(toggle-trace-fdefinition, tracedp): Remove backend specific code with
	portable, but ugly, to calls to eval.

2003-12-14 08:48  heller

	* swank-cmucl.lisp:

	(compile-system-for-emacs): Add method for CMUCL.

2003-12-14 08:47  heller

	* slime.el:

	(slime-goto-source-location): Better regexp for package qualified
	symbols.  Allow dashes in the name and two colons.  Reported by Alan
	Ruttenberg.

2003-12-13 11:15  heller

	* ChangeLog:

	[no log message]

2003-12-13 11:03  heller

	* ChangeLog:

	[no log message]

2003-12-13 11:00  heller

	* swank-openmcl.lisp:

	(create-swank-server, ccl::force-break-in-listener): Patch by Alan
	Ruttenberg.  Not yet enabled.

	(sldb-disassemble): Implement sldb-disasssemble command.  Patch by
	Alan Ruttenberg.

	Remove some #' form lambdas.

2003-12-12 23:58  heller

	* ChangeLog:

	[no log message]

2003-12-12 23:56  heller

	* swank-loader.lisp:

	(user-init-file): Simplify the code.

2003-12-12 23:52  heller

	* slime.el:

	(slime-output-string): Insert asynchronous output before the prompt.

2003-12-12 23:52  heller

	* swank-cmucl.lisp:

	(create-swank-server): New keyword arguments to control the server:
	BACKGROUND and CLOSE.  fd-handlers are used if BACKGROUND is true.  If
	close CLOSE is true close the socket after the first connection; keep
	it open otherwise.
	*start-swank-in-background*, *close-swank-socket-after-setup*:
	The default values of corresponding arguments for create-swank-server.

	(compile-file-for-emacs): Don't load the fasl-file the compile failed.

2003-12-12 23:47  heller

	* swank-openmcl.lisp:

	(swank-accept-connection): Accept multiple connections.  Patch by
	Marco Baringer.

2003-12-12 13:41  heller

	* ChangeLog:

	[no log message]

2003-12-12 13:38  heller

	* swank-openmcl.lisp:

	(list-callers): method-name is not exported in 0.14.  Fix by Marco Baringer.

2003-12-12 12:21  heller

	* ChangeLog:

	[no log message]

2003-12-12 12:18  heller

	* swank-openmcl.lisp:

	(toggle-trace-fdefinition, tracedp): Implement trace command.  Patch
	by Alan Ruttenberg.

	(find-function-locations, find-source-locations): Handle variables,
	and method-combinations.  General cleanups.
	(source-info-first-file-name): Removed.

	(list-callers): Fixed.

2003-12-12 12:13  heller

	* swank-loader.lisp:

	(user-init-file): Use homedir's truename.  Reported by Friedrich Dominicus.

2003-12-12 12:11  heller

	* slime.el:

	(slime-repl-current-input): Don't remove the final newline only if we
	are in reading state.
	(slime-goto-source-location): Regex-quote the function name and
	handle package prefixes.  Reported by Alan Ruttenberg.

2003-12-12 05:54  dbarlow

	* swank-source-path-parser.lisp:

	it might work better if this file were actually committed

2003-12-12 04:22  dbarlow

	* ChangeLog, b0rk.lisp, swank-cmucl.lisp, swank-loader.lisp,
	  swank-sbcl.lisp:

		* swank-source-path-parser.lisp: new file, excerpting part of
		swank-cmucl.lisp to where SBCL can find it as well.

2003-12-12 02:51  lgorrie

	* ChangeLog, slime.el:

	(slime-one-line-ify): New function to convert multi-line strings to
	one-liners by replacing any newline followed by indentation by a
	single space.

	(slime-xrefs-for-notes): Use it.

2003-12-11 20:31  lgorrie

	* ChangeLog, slime.el:

	(slime-xrefs-for-notes): Commented out use of
	`replace-regexp-in-string' (not available in emacs20, and not sure why
	we need it?)

2003-12-11 18:08  dbarlow

	* slime.el, swank-sbcl.lisp:

	unbroke last commit, in two obvious respects

2003-12-11 17:37  dbarlow

	* ChangeLog, slime.el, swank-sbcl.lisp:

		* swank-sbcl.lisp (compiler-note-location): replace with
		thinly-ported version from the CMUCL backend which understands
		:lisp as a pathname

		* slime.el (slime-xrefs-for-notes): a little more temporary
		variables, a little less cdr.  Should be slightly faster on
		big systems
		(slime-goto-next-xref): set window point as well as buffer point -
		now works in GNU Emacs 21.2.1

2003-12-11 07:59  dbarlow

	* b0rk.lisp:

	source-path-file-position broken

2003-12-11 05:57  dbarlow

	* ChangeLog, slime.el:

	Significantly more friendly display of compiler notes when there
	are multiple buffers involved

2003-12-11 03:20  dbarlow

	* ChangeLog:

	[no log message]

2003-12-11 03:20  dbarlow

	* swank.lisp:

	        * swank.lisp (swank-compiler): new function abstracts commonality
	        between swank-compile-{file, string}.
	        (swank-load-system): call swank-compiler to load asdf system

2003-12-11 03:20  dbarlow

	* swank-sbcl.lisp:

	        * swank-backend.lisp (call-with-compilation-hooks): new GF
	        should set up all appropriate error condition loggers etc
	        to do a compilation preserving the notes.  Implement for
	        sbcl, cmucl

	        * swank-sbcl.lisp (compiler-note-location and elsewhere):
	        remove all trace of *compile-filename*
	        (compile-*-for-emacs): shorten

2003-12-11 03:19  dbarlow

	* swank-backend.lisp, swank-cmucl.lisp:

	        * swank-backend.lisp (call-with-compilation-hooks): new GF
	        should set up all appropriate error condition loggers etc
	        to do a compilation preserving the notes.  Implement for
	        sbcl, cmucl

2003-12-11 03:19  dbarlow

	* slime.el:

	        * slime.el (slime-find-asd, slime-load-system): new command
	        to compile and load an ASDF system with all the usual compiler
	        notes and stuff
	        (slime-compilation-finished): minimally handle multiple file
	        compiles, by printing the names of all files with notes in the
	        echo area
	        (slime-remove-old-overlays): bug fix: now removes overlays even
	        at start of buffer
	        (slime-overlay-note): do nothing quietly if
	        slime-choose-overlay-region returns nil
	        (slime-choose-overlay-region): return nil if note has no location

2003-12-11 00:22  heller

	* ChangeLog:

	[no log message]

2003-12-11 00:16  heller

	* swank-cmucl.lisp:

	(accept-connection, request-loop): Don't use fd-handlers. The code is
	now almost identical request-loop itself is now almost identical as
	the Allegro version.
	(print-ir1-converted-blocks, expand-ir1-top-level): New functions.

2003-12-11 00:14  heller

	* slime.el:

	(slime-repl-previous-prompt, slime-repl-next-prompt): New commands.
	(slime-repl-beginning-of-defun, slime-repl-end-of-defun): New commands.
	(slime-repl-insert-prompt): Mark the prompt with a slime-repl-prompt
	a text property.
	(slime-repl-eol): New function. Mostly for symmetry.
	(slime-repl-in-input-area-p, slime-repl-at-prompt-end-p): New
	predicates.
	(slime-repl-find-prompt, slime-search-property-change-fn): New functions.
	(slime-ir1-expand): New command.

2003-12-10 20:02  dbarlow

	* ChangeLog, slime.el, swank-sbcl.lisp:

		* swank-sbcl.lisp (serve-request): more fiddling with serve-event
		descriptors

		* slime.el (slime-repl-return): slime-check-connected, otherwise
		pressing Return in an unconnected repl gets a bit weird

2003-12-10 14:27  heller

	* ChangeLog:

	[no log message]

2003-12-10 14:26  heller

	* swank-allegro.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp:

	(create-swank-server): Accept an announce-function keyword argument.

2003-12-10 14:24  heller

	* swank.lisp:

	(start-server): Pass an announce callback function to
	create-swank-server.  Works better with single threaded
	implementations.
	(announce-server-port, simple-announce-function): New functions.
	(alistify): Doc fix.

2003-12-10 14:20  heller

	* swank-cmucl.lisp:

	(create-swank-server): Use announce callback.
	(sldb-disassemble): New function.

2003-12-10 14:13  heller

	* slime.el:

	(sldb-disassemble): New command. Bound to D.

2003-12-08 02:44  lgorrie

	* ChangeLog:

	[no log message]

2003-12-08 02:43  lgorrie

	* swank-cmucl.lisp:

	(*debug-definition-finding*): Now nil by default.

2003-12-08 00:56  lgorrie

	* slime.el:

	Updated an arglist test case.

2003-12-08 00:43  lgorrie

	* ChangeLog:

	[no log message]

2003-12-08 00:43  lgorrie

	* slime.el:

	(slime-read-from-minibuffer): Now the only completing-read function,
	stale ones deleted.

	(sldb-prune-initial-frames): Use regexp-heuristics and the '--more--'
	token to avoid showing the user Swank-internal backtrace frames
	initially.

	(slime-repl-current-input): Don't include the final newline character,
	to make backtraces prettier.

	(slime-autodoc): Fixed annoying case where autodocs would be fetched
	in a loop for undocumented symbols.

2003-12-08 00:42  lgorrie

	* swank.lisp:

	(compound-prefix-match): New name and rewritten for speed. Completion
	is much faster now.

	(*sldb-initial-frames*): Send up to this many (default 20) backtrace
	frames to Emacs when entering the debugger.

2003-12-07 20:23  heller

	* ChangeLog:

	[no log message]

2003-12-07 20:16  heller

	* swank-allegro.lisp, swank-backend.lisp, swank-cmucl.lisp,
	  swank-lispworks.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	(function-source-locations): Is replaces
	function-source-location-for-emacs. Make it at generic function.
	(function-source-location-for-emacs): Remove.

2003-12-07 20:13  heller

	* slime.el:

	(slime-interactive-eval): Insert the result at point, if called with
	prefix argument.

2003-12-06 22:41  lgorrie

	* ChangeLog:

	[no log message]

2003-12-06 22:41  lgorrie

	* slime.el:

	(slime-easy-menu): Added menubar support, contributed by Friedrich
	Dominicus.

2003-12-06 14:14  heller

	* ChangeLog:

	[no log message]

2003-12-06 14:13  heller

	* swank-allegro.lisp:

	New file.

2003-12-06 14:10  heller

	* ChangeLog:

	[no log message]

2003-12-06 14:08  heller

	* swank-loader.lisp:

	(user-init-file): Translate logical (user-homedir-) pathnames.
	Reported by Friedrich Dominicus.

2003-12-06 09:43  heller

	* ChangeLog:

	[no log message]

2003-12-06 09:42  heller

	* swank-sbcl.lisp:

	(open-listener): Don't make the socket non-blocking.

2003-12-06 09:16  heller

	* ChangeLog:

	[no log message]

2003-12-06 09:13  heller

	* swank-sbcl.lisp:

	(handle-notification-condition): Don't ignore warnings without
	(compiler-note-location, brief-compiler-message-for-emacs,
	compiler-note-location): Handle null context.
	(compile-file-for-emacs): Bind *compile-filename* and load the fasl
	file only if it exists.
	(function-source-location): The name argument is now optional a should
	be a symbol.
	(find-function-locations): Return errors as a list of one error.
	(call-with-debugging-environment): Set *print-level* to 4 and
	*print-level* to 10.  (Where both nil.)
	(source-location-for-emacs): Fall back to the location of the function
	if there is no block-debug-info.
	(safe-source-location-for-emacs): Catch error only; not all conditions.
	*compile-filename*: New variable.

2003-12-06 09:06  heller

	* slime.el:

	slime-eval/compile-defun-dwim: New command.  Suggested by "jan".

2003-12-04 22:36  heller

	* ChangeLog:

	[no log message]

2003-12-04 22:33  heller

	* swank-cmucl.lisp:

	(format-frame-for-emacs, compute-backtrace, backtrace): Don't send
	CMUCL's frame numbers to Emacs, use our own numbering.
	(set-step-breakpoints, sldb-step): Lisp side of sldb-step command.

2003-12-04 22:30  heller

	* slime.el:

	(slime-debugging-state): Don't set sldb-level after sldb-setup. Breaks
	the test-suite.
	(slime-eval-defun): Fix typos.
	(slime-xref-buffer, slime-goto-next-xref): Updated for the new xref
	code.
	(sldb-inspect-in-frame): Query with the sexp at point as initial
	value.
	(sldb-step): New command. Bound to s.

2003-12-04 17:43  lgorrie

	* ChangeLog:

	[no log message]

2003-12-04 17:42  lgorrie

	* hyperspec.el:

	Updated URL to point to a live copy of the hyperspec at lispworks.com,
	because the one on xanalys.com has disappeared. Patch from Vincent
	Arkesteijn on the ilisp-devel mailing list.

2003-12-04 08:43  heller

	* ChangeLog:

	[no log message]

2003-12-04 08:42  heller

	* swank-lispworks.lisp:

	(toggle-trace-fdefinition, tracedp): New support functions for
	toggle-trace command.  Written by Alain Picard.
	(compile-from-temp-file): Don't delete the binary file if there is
	none.
	(lispworks-severity): Map all ERRORs to :error.

2003-12-04 08:38  heller

	* slime.el:

	(slime-eval-defun): Use slime-re-evaluate-defvar if the defun starts
	with "defvar".  C-M-x in elisp does this too.
	(slime-re-evaluate-defvar): Take the form as argument.

2003-12-03 23:37  heller

	* ChangeLog:

	[no log message]

2003-12-03 23:34  heller

	* swank-cmucl.lisp:

	(create-swank-server): Set reuse-address to t by default.
	(resolve-note-location): Add method for warnings in interpreted code.
	(who-specializes): New function.
	(dd-source-location): Handle case without constructors more correctly.
	(source-path-source-position): Skip ambigous entries in source-map.
	(source-location-from-code-location): Simplified.

2003-12-03 23:30  heller

	* slime.el:

	(slime-debugging-state): Initialize the sldb-buffer if (/= sldb-level
	level).
	(slime-who-specializes): New command.

2003-12-03 22:00  lgorrie

	* ChangeLog:

	[no log message]

2003-12-03 21:46  lgorrie

	* slime.el:

	(slime-completing-read-internal): Fix from Sean O'Rourke.

2003-12-02 15:02  heller

	* ChangeLog:

	[no log message]

2003-12-02 15:01  heller

	* swank-sbcl.lisp:

	(find-function-locations): Return a non-empty list of source locations.

2003-12-02 14:56  heller

	* swank.lisp:

	(documentation-symbol): New optional argument for return value if the
	symbol is not documented.

2003-12-02 14:55  heller

	* slime.el:

	Patch by Sean O'Rourke:
	slime-repl-{clear-buffer,clear-output}: clear the last and
	entire output in the *slime-repl* buffer
	(slime-documentation): pop up a buffer with a symbol's
	documentation instead of its description, if found.
	(slime-complete-symbol): tweak to completion, taken from ilisp, to
	complete filenames inside strings.
	(slime-set-default-directory): also set *slime-repl*'s
	default-directory, so e.g. find-file makes sense.

	(slime-with-xref-buffer): Remove spurious comma. (Reported by Raymond
	Wiker).

	Some reordering of the xref code.

2003-12-02 02:33  dbarlow

	* ChangeLog, slime.el:

		* slime.el (slime-with-xref-buffer): moved further up the file so
		it's defined before slime-show-xrefs needs it

2003-12-02 01:56  dbarlow

	* ChangeLog:

	[no log message]

2003-12-02 01:56  dbarlow

	* swank-sbcl.lisp:

		* swank-sbcl.lisp (function-source-location-for-emacs): return a
		list of source locations (one per method) when the request is
		for a GF.  This seems to make the elisp side popup a window
		to let the user select one.  Cool.

2003-12-01 23:33  heller

	* ChangeLog:

	[no log message]

2003-12-01 23:30  heller

	* swank-cmucl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp:

	(invoke-nth-restart): Use invoke-restart-interactively.

2003-12-01 23:17  heller

	* ChangeLog:

	[no log message]

2003-12-01 23:15  heller

	* slime.el:

	(slime-create-note-overlay, slime-sexp-depth): The priority property
	is unused. Remove it.

2003-12-01 23:12  heller

	* swank-openmcl.lisp:

	(find-function-locations): Return all methods for generic
	functions. Doens't work very well if multiple methos are in the same
	file.

	(swank-accept-connection): Don't create an extra thread, call
	request-loop directly.

2003-12-01 22:44  lgorrie

	* ChangeLog:

	typo fix

2003-12-01 21:18  lgorrie

	* ChangeLog:

	[no log message]

2003-12-01 21:16  lgorrie

	* slime.el:

	(slime-repl-return): Goto end of input area before inserting newline.

	(slime-autodoc-message-ok-p): Test to see if a documentation message
	should be printed (returns nil if the minibuffer/echo-area is already
	being used).

	(slime-log-events): When nil, don't log events to

	(slime-symbol-at-point): Skip back over whitespace before looking for
	the symbol.

	(slime-autodoc-delay): New configurable to specify the delay before
	printing an autodoc message (default 0.2 secs).

	(slime-ensure-typeout-frame): New function to call create a typeout
	frame unless it already exists. Suitable to run on slime-mode-hook if
	you always want to have a typeout window.

2003-12-01 17:48  lgorrie

	* ChangeLog:

	[no log message]

2003-12-01 17:47  lgorrie

	* slime.el:

	(slime-repl-return): Goto end of input area before inserting newline.

	(slime-autodoc-message-ok-p): Test to see if a documentation message
	should be printed (returns nil if the minibuffer/echo-area is already
	being used).

	(slime-log-events): When nil, don't log events to *slime-events*. This
	works-around a problem Raymond Toy has when starting SLIME under
	XEmacs. Still investigating..

2003-11-30 09:20  heller

	* ChangeLog:

	[no log message]

2003-11-30 09:15  heller

	* swank-openmcl.lisp, swank-sbcl.lisp:

	Use the new format for source locations and implement
	find-function-locations (just calls the old code).

2003-11-30 09:14  heller

	* swank.lisp:

	(group-xrefs): Handle unresolved source locations.
	(describe-symbol): Print something sensible about unknown symbols.

2003-11-30 09:12  heller

	* swank-lispworks.lisp:

	Use the new format for source locations. Implement the
	find-function-locations.
	(list-callers, list-callers): New functions.

2003-11-30 09:09  heller

	* swank-cmucl.lisp:

	Use the format for source locations.
	(find-function-locations): New function.  Replaces
	function-source-location-for-emacs.  Returns a list of
	source-locations.

	(resolve-note-location): Renamed from resolve-location.  Simplified.
	(brief-compiler-message-for-emacs): Print the source context (that's
	the thing after ==>).

	(who-xxxx): Take strings, not symbols, as arguments.
	(function-callees, function-callers): Use the same format as the
	who-xxx functions.  Support for byte-compiled stuff.

	(code-location-stream-position): Try to be clever is the source path
	doesn't match the form.

	(call-with-debugging-environment): Bind *print-readably* to nil.

2003-11-30 08:58  heller

	* slime.el:


	(slime-goto-source-location): New representation for source
	locations. Drop old code.

	Rewrite the xref code to work with other source locations.
	(slime-edit-fdefinition): Use the xref window to display generic
	functions with methods.
	(slime-list-callers, slime-list-callees): Use the xref window.  Remove
	the slime-select-* stuff.

	(slime-describe-function): New command. Bound to C-c C-f.  Primarily
	useful in Lispworks.

	(slime-complete-symbol): Display the completion window if the prefix
	is complete but not unique.

	(slime-forward-positioned-source-path): Enter the sexp only if the
	remaining sourcepath is not empty.

	(slime-read-symbol-name): New optional argument QUERY forces querying.

2003-11-30 00:31  dbarlow

	* ChangeLog:

	[no log message]

2003-11-30 00:31  dbarlow

	* swank-sbcl.lisp:

		* swank-sbcl.lisp (source-location-for-emacs):
		sb-debug::print-description-to-string takes only two args, not
		three.  Now 'v' command works in sldb :-)

2003-11-29 23:57  dbarlow

	* README.sbcl:

	dead.  not to mention out of date

2003-11-29 23:15  dbarlow

	* ChangeLog:

	[no log message]

2003-11-29 23:15  dbarlow

	* swank.lisp:

	(slime-debugger-function): New.  Returns a function suitable for use
	as the value of *DEBUGGER-HOOK* to install the SLIME debugger
	globally.  Must be run from the *slime-repl* buffer or somewhere else
	that the slime streams are visible so that it can capture them.
	e.g. for Araneida:

	      PKG> (setf araneida:*restart-on-handler-errors*
	                 (swank:slime-debugger-fucntion))

2003-11-29 23:14  dbarlow

	* swank-sbcl.lisp:

	Sort out some of the problems with stale serve-event handlers
	(note that you also need a fix for sb-bsd-sockets from 0.8.6.x SBCL,
	if this is bothering you)

2003-11-29 23:12  dbarlow

	* swank-backend.lisp:

	export slime-debugger-function

2003-11-29 23:12  dbarlow

	* slime.el:

	(slime-idle-state): added :debug as a valid transition

2003-11-29 09:03  heller

	* ChangeLog:

	[no log message]

2003-11-29 08:59  heller

	* swank-lispworks.lisp:

	Xref support.
	(make-dspec-location): Updated for the new source-location format.

2003-11-29 08:58  heller

	* swank-cmucl.lisp:

	(code-location-source-location): Renamed from
	safe-source-location-for-emacs.
	(code-location-from-source-location): Renamed from
	source-location-for-emacs.
	(find-fdefinitions, function-source-locations): New functions.
	(safe-definition-finding): New macro.

2003-11-29 08:53  heller

	* swank.lisp:

	Structure definitions for source-locations.
	(alistify, location-position<, group-xrefs): Utilities for xref support.

2003-11-29 08:51  heller

	* slime.el:

	Some tweaking to the REPL.  slime-repl-input-end-mark is now always
	left inserting and slime-mark-input-end "deactivates" the end mark by
	moving it the beginning of the buffer.

	(slime-goto-source-location): Next try for more uniform
	source-locations.  A source-location is now a structure with a
	"buffer-designator" and  "position-designator".  The buffer-designator
	open the file or buffer and the position-designator moves point to the
	right position.

	(slime-autodoc-mode): New command.

	(slime-find-fdefinitions): Experimental support for generic functions
	with methods.
	(slime-show-xrefs, slime-insert-xrefs, slime-goto-xref): Rewritten to
	work with more general source locations.

2003-11-29 00:29  lgorrie

	* ChangeLog:

	[no log message]

2003-11-29 00:28  lgorrie

	* swank.lisp:

	Minor cleanups.

2003-11-29 00:28  lgorrie

	* slime.el:

	(complete-symbol, arglist): Updated test cases for new completion
	code.

2003-11-28 21:54  lgorrie

	* swank.lisp:

	Documentation fixes.

2003-11-28 21:04  lgorrie

	* ChangeLog:

	[no log message]

2003-11-28 21:03  lgorrie

	* completer.el:

	Dead and buried! Replaced by half a page of Common Lisp. Thanks Bill
	Clementson for a motivational and well-deserved taunt.

2003-11-28 21:03  lgorrie

	* slime.el:

	(slime-complete-symbol): Use the new completion support from the Lisp
	side. Don't obscure minibuffer input with completion messages.

	(slime-swank-port-file): Try (temp-directory), temporary-file-directory,
	or "/tmp/", depending on what is (f)bound.

2003-11-28 20:54  lgorrie

	* swank.lisp:

	(longest-completion): Compute the best partial completion for Emacs.
	(completions): Use it.

2003-11-28 15:28  heller

	* ChangeLog:

	[no log message]

2003-11-28 15:28  heller

	* swank-lispworks.lisp:

	(make-dspec-location): Handle logical pathnames.

2003-11-28 13:14  heller

	* ChangeLog:

	[no log message]

2003-11-28 13:09  heller

	* swank-cmucl.lisp, swank-sbcl.lisp:

	Support for output redirection to an Emacs buffer via a dedicated
	network stream.  Can be enabled with *use-dedicated-output-stream*.

2003-11-28 13:02  heller

	* swank.lisp:

	(slime-read-string, eval-string): Flush *emacs-io*.
	(eval-in-emacs): New function.

2003-11-28 12:58  heller

	* slime.el:

	Support for output from a dedicated socket.
	(slime-input-complete-p): Use vanilla forward-sexp, because
	slime-forward-sexp sometimes caused endless loops.
	(slime-disconnect): Close the output-stream-connection if present.
	(slime-handle-oob): A new :%apply event.  Executes arbitrary code;
	useful for bootstrapping.
	(slime-flush-output): New function.
	(slime-open-stream-to-lisp, slime-output-filter): New functions.
	Reorganized REPL code a bit.

	(slime-symbol-end-pos): Didn't work at all in Emacs20.  Just use
	point until someone commits a proper fix.

	Various uses of display-buffer: The second argument is different in
	XEmacs.
	(interrupt-bubbling-idiot): Reduce the timeout to 5 seconds.

2003-11-27 02:24  lgorrie

	* ChangeLog:

	[no log message]

2003-11-27 02:24  lgorrie

	* slime.el:

	(slime-swank-port-file): Use `temporary-file-directory' instead of
	hardcoding "/tmp/".

2003-11-27 01:54  heller

	* ChangeLog:

	[no log message]

2003-11-27 01:50  heller

	* slime.el:

	(slime-with-output-to-temp-buffer): Save the window configuration in a
	buffer local variable instead on a global stack.
	(slime-show-last-output): Make behavior customizable.  The default is
	now simpler and less DWIMish.
	slime-show-last-output-function: New variable.
	(slime-show-last-output-region, slime-maybe-display-output-buffer):
	New functions.
	(slime-goto-source-location): Add some support for Lispworks style dspecs.
	Should be merged with OpenMCL stuff.

	Various tweaking for better multi-frame support.

2003-11-27 01:44  heller

	* swank-backend.lisp:

	List exported symbols explicitly.

2003-11-27 01:42  heller

	* swank-cmucl.lisp:

	(function-source-location): Better support for generic functions.
	(genericp, gf-definition-location, method-source-location,
	gf-method-locations, gf-source-locations): New functions.
	(describe-symbol-for-emacs): Mark generic functions as such.

2003-11-27 01:40  heller

	* swank.lisp:

	(briefly-describe-symbol-for-emacs): Don't return unbound symbols.
	(load-file): The result of LOAD may be a pathname. Turn it into a
	string.
	(describe-symbol, describe-function): Support package-qualified strings.

2003-11-27 01:38  heller

	* swank-loader.lisp:

	*sysdep-pathnames*: Add Lispworks files.
	(compile-files-if-needed-serially): Compile all files in a compilation unit.

2003-11-27 01:36  heller

	* swank-lispworks.lisp:

	First version.

2003-11-27 01:30  lgorrie

	* slime.el:

	(slime-complete-symbol): Make a bogus alist out of the completion set,
	for compatibility with XEmacs.

2003-11-27 01:26  lgorrie

	* completer.el:

	(completer-message): Cut dependency on undefined ilisp constant
	testing for xemacs.

2003-11-27 00:46  lgorrie

	* ChangeLog:

	[no log message]

2003-11-27 00:40  lgorrie

	* completer.el:

	Stolen^Wimported from ILISP version 1.4. This is one revision prior to
	their latest, where they added a (require) for some other ILISP
	code. I backed down a revision to make it stand-alone, but this may
	mean that putting SLIME in the load-path before ILISP will break
	ILISP. So, beware.

2003-11-27 00:40  lgorrie

	* slime.el:

	(slime-complete-symbol): Use `completer' package to handle more
	sophisticated completions. This includes abbreviations like "m-v-b" =>
	"multiple-value-bind". It also (somewhat scarily) redefines other
	standard Emacs completion functions with similar capabilities. See
	commentary in completer.erl for details.

2003-11-27 00:39  lgorrie

	* swank.lisp:

	(completions): Complete compound symbols.

2003-11-25 22:28  lgorrie

	* ChangeLog, slime.el:

	s/slime-incidental-message/slime-background-message/

2003-11-25 20:57  lgorrie

	* ChangeLog, slime.el:

	[no log message]

2003-11-25 20:55  lgorrie

	* slime.el:

	(slime-make-typeout-frame): New command to create a frame where
	commands can print messages that would otherwise go to the echo area.

	(slime-incidental-message): Function for printing "background"
	messages. Uses the "typeout-frame" if it exists.

	(slime-arglist): Print arglist with `slime-incidental-message'.

	(slime-message): Use typeout frame if it exists, but only for
	multi-line messages.

2003-11-25 01:23  dbarlow

	* swank-sbcl.lisp:

		* swank-sbcl.lisp: delete big chunk of leftover commented-out
		code

2003-11-25 01:23  dbarlow

	* slime.el:

		* slime.el: arglist command to use slime-read-symbol-name,
		not slime-read-symbol

2003-11-25 01:22  dbarlow

	* ChangeLog, README:

	Minor updates for currency

2003-11-24 14:45  lgorrie

	* ChangeLog:

	[no log message]

2003-11-24 14:43  lgorrie

	* swank-backend.lisp:

	(compiler-condition): Removed use of :documentation slot option. That
	is not portable (to CMUCL 18e).

2003-11-24 04:24  lgorrie

	* ChangeLog:

	[no log message]

2003-11-24 04:23  lgorrie

	* swank.lisp:

	(eval-string-in-frame): Fixed symbol-visibility problem (thanks
	Lawrence Mitchell).

2003-11-24 04:19  lgorrie

	* ChangeLog:

	[no log message]

2003-11-24 04:19  lgorrie

	* slime.el:

	(slime-goto-source-location): Fixes when finding definition by regexp:
	open the right file (was missed), and tweaked regexp to match more
	'def' forms - especially `defmacro-mundanely' (hyphen wasn't allowed
	before).

2003-11-24 04:18  lgorrie

	* swank-sbcl.lisp:

	(function-source-location): Use TRUENAME to resolve source file name
	(thanks Lawrence Mitchell).

2003-11-23 15:20  lgorrie

	* ChangeLog:

	[no log message]

2003-11-23 15:16  lgorrie

	* swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Updated to use new debugger interfaces in swank-backend.lisp.

2003-11-23 15:13  lgorrie

	* swank-backend.lisp:

	(backtrace, eval-in-frame, frame-catch-tags, frame-locals,
	frame-source-location-for-emacs): More interface functions.

2003-11-23 15:10  lgorrie

	* slime.el:

	(sldb-fetch-more-frames): Call swank:backtrace instead of (renamed)
	swank:backtrace-for-emacs.

2003-11-23 14:40  lgorrie

	* ChangeLog:

	[no log message]

2003-11-23 14:40  lgorrie

	* slime.el:

	(slime-connect): Don't delete a random window when *inferior-lisp*
	isn't visible.

2003-11-23 13:28  lgorrie

	* swank.lisp:

	[no log message]

2003-11-23 13:16  lgorrie

	* ChangeLog:

	[no log message]

2003-11-23 13:14  lgorrie

	* swank.lisp:

	* swank.lisp: Tidied up outline-minor-mode structure, added
	comments and docstrings.
	(sldb-loop): Took over the main debugger loop.

2003-11-23 13:14  lgorrie

	* swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	Updated to use new debugger interface in swank-backend.lisp.

	* swank-cmucl.lisp: Tidied up outline-minor-mode structure and
	added comments and docstrings.

2003-11-23 13:13  lgorrie

	* swank-backend.lisp:

	* swank-backend.lisp (call-with-debugging-environment,
	sldb-condition, debugger-info-for-emacs): More callbacks defined.

2003-11-23 13:12  lgorrie

	* slime.el:

	* slime.el (slime-goto-source-location): Added optional `align-p'
	argument for :file and :emacs-buffer location types. This is for
	OpenMCL - unlike CMUCL its positions are not character-accurate so it
	needs to be aligned to the beginning of the sexp.

2003-11-23 08:15  lgorrie

	* ChangeLog:

	[no log message]

2003-11-23 08:15  lgorrie

	* swank-openmcl.lisp:

	Updated after refactoring of other backends (was broken).

2003-11-23 08:15  lgorrie

	* slime.el:

	(slime-goto-source-location): Align at beginning of sexp after (:file
	name pos) and (:emacs-buffer buffer pos).

2003-11-23 06:01  lgorrie

	* ChangeLog:

	[no log message]

2003-11-23 06:00  lgorrie

	* swank-backend.lisp, swank-cmucl.lisp, swank-loader.lisp,
	  swank-sbcl.lisp, swank.lisp:

	* swank-sbcl.lisp (describe-symbol-for-emacs): Don't ask for
	(documentation SYM 'class), CLHS says there isn't any 'class
	documentation (and SBCL warns).

	* swank.lisp, swank-cmucl.lisp, swank-sbcl.lisp: Refactored
	interface through swank-backend.lisp for: swank-compile-file,
	swank-compile-string, describe-symbol-for-emacs (apropos),
	macroexpand-all, arglist-string.

	* swank-backend.lisp: New file defining the interface between
	swank.lisp and the swank-*.lisp implementation files.

2003-11-22 08:45  lgorrie

	* ChangeLog:

	[no log message]

2003-11-22 08:44  lgorrie

	* swank.asd:

	ASDF definition to load "swank-loader.lisp". This is useful for
	starting the Swank server in a separate Lisp and later connecting with
	Emacs. The file includes commentary.

2003-11-22 08:44  lgorrie

	* slime.el:

	(slime-show-last-output): If the *slime-repl* buffer is already
	visible in any frame, don't change anything.

2003-11-22 06:38  lgorrie

	* ChangeLog:

	[no log message]

2003-11-22 06:38  lgorrie

	* slime.el:

	(slime-connect): Slightly reordered some window operations to ensure
	that *slime-repl* is popped up after `M-x slime-connect'.

2003-11-22 06:36  lgorrie

	* swank.lisp:

	(listener-eval): Format results in *buffer-package*.

	Exporting (CREATE-SWANK-SERVER <port>). This function can be
	called directly to start a swank server, which you can then
	connect to with `M-x slime-connect'. It takes a port number as
	argument, but this can be zero to use a random available port.
	The function always returns the actual port number being used.

2003-11-19 14:45  heller

	* slime.el:

	inferior-lisp-mode-hook: Set the second argument of get-buffer-window
	to t.  Suggested by Sean O'Rourke.

2003-11-19 14:37  heller

	* slime.el:

	(slime-with-output-at-eob): Update window-point even if the window is
	in another frame.

2003-11-19 14:14  heller

	* ChangeLog:

	[no log message]

2003-11-19 14:12  heller

	* slime.el:

	(slime-edit-fdefinition-other-window): New function.

2003-11-19 13:59  heller

	* ChangeLog:

	[no log message]

2003-11-19 13:37  heller

	* swank-cmucl.lisp:

	(format-frame-for-emacs): Bind *print-pretty* to *sldb-pprint-frames*.
	(pprint-eval-string-in-frame): Handle mutliple values.

2003-11-19 13:35  heller

	* swank.lisp:

	*sldb-pprint-frames*: New option.

	Tweak printing off return values.  Print each value in a separate line
	in the REPL buffer and comma separated in the echo-area.  Print
	"; No value" for (values).
	(format-values-for-echo-area): New function.
	(interactive-eval-region,
	(swank-pprint, listener-eval): Print each value in separate line.

2003-11-19 13:12  heller

	* swank-loader.lisp:

	Load a the user init file if present.

	(user-init-file): New function.

2003-11-19 13:06  heller

	* slime.el:

	Window configuration are now organized as a stack, not a single global
	variable.
	(slime-saved-window-configurations): Renamed from
	slime-saved-window-configuration.
	(slime-save-window-configuration, slime-restore-window-configuration):
	Use a stack.
	(slime-show-description, slime-show-apropos): Updated for new version
	of slime-saved-window-configuration.

	We use now our own version of with-output-to-temp-buffer.  The default
	version is painfully incompatible between Emacs versions.
	(slime-with-output-to-temp-buffer): Enable slime-mode, set
	lisp-syntax-table, enable slime-temp-buffer mode.
	(slime-temp-buffer-mode): New mode with a single command.
	(slime-temp-buffer-quit): New command.

	(slime-connect): Hide the *inferior-lisp-buffer* when we are
	connected.

	(slime-complete-delay-restoration): The idiom
	 (add-hook (make-local-hook ...) ...) doesn't work in XEmacs.

	(slime-complete-symbol): Use vanilla with-output-to-temp-buffer.

	(slime-show-evaluation-result): Don't use slime-message.  I bet, no one
	will notice.

	sldb-mode-map: Bind n and p to sldb-down and sldb-up.

2003-11-16 19:49  heller

	* ChangeLog:

	[no log message]

2003-11-16 19:41  heller

	* slime.el:

	slime-keys: Override C-c C-r with slime-eval-region.

2003-11-16 19:28  heller

	* slime.el:

	(slime-keys): Don't bind "\C- ".  Problematic on LinuxPPC.

2003-11-16 19:24  heller

	* ChangeLog:

	[no log message]

2003-11-16 19:10  heller

	* swank-loader.lisp:

	Compile and load gray stream stuff for SBCL and OpenMCL.

2003-11-16 19:08  heller

	* swank-sbcl.lisp, swank-openmcl.lisp:

	Import gray stream symbols.
	(without-interrupts*): New function.

2003-11-16 19:07  heller

	* swank.lisp:

	(send-to-emacs): Protect the write operations by a without-interrupts,
	so that we don't trash the *cl-connection* buffer with partially
	written messages.

2003-11-16 19:05  heller

	* swank-cmucl.lisp:

	(without-interrupts*): New function.

2003-11-16 18:46  heller

	* swank-gray.lisp:

	(stream-write-char): Don't flush the buffer on newlines.

2003-11-16 18:45  heller

	* slime.el:

	Add some docstring.
	(interrupt-bubbling-idiot): New test.

2003-11-15 11:23  heller

	* ChangeLog:

	[no log message]

2003-11-15 11:12  heller

	* swank-cmucl.lisp:

	(sos/out): Don't flush the buffer on new-lines.

2003-11-15 11:10  heller

	* slime.el:

	(slime-process-available-input): Abort when we see a reader error.
	Call slime-state/event-panic to file a bug report.
	(slime-state/event-panic): Include the *slime-events* and
	*cl-connection* buffers in the report.

	(slime-show-last-output): Include the prompt so that the window point
	is updated properly.
	(slime-with-output-at-eob): Update window point if the buffer is
	visible.
	(slime-output-string): Remove zero length test.

	(slime-compile-file): Pop up the output buffer.

	(slime-print-apropos): Minor cleanups.

2003-11-13 23:54  heller

	* ChangeLog:

	[no log message]

2003-11-13 23:48  heller

	* ChangeLog:

	[no log message]

2003-11-13 23:45  heller

	* swank-cmucl.lisp:

	((resolve-location t pathname t t t)): Emacs buffer positions are 1
	based.  Add 1 to the 0 based file-position.

2003-11-13 23:42  heller

	* slime.el:


	Imititate an "output-mark".  Output from Lisp should move point only
	if point is at the end of the buffer.
	(slime-with-output-at-eob): New function.
	(slime-repl-insert-prompt): Don't move point at the end of the buffer.
	(slime-output-string, slime-repl-maybe-prompt): Use it.
	(slime-repl-show-result-continutation): Don't move point to eob.

	slime-repl-mode-map: Override "\C-\M-x".

	(slime-goto-source-location): Add (:sexp) case. remove (:null) and
	(:error ..) cases.
	(slime-choose-overlay-region, slime-edit-fdefinition): Catch
	 (:null) location here.

	(slime-complete-maybe-save-window-configuration): Fix typo. It's
	make-local-hook, not make-local.
	(slime-complete-restore-window-configuration): Fix typo. Remove-hook
	takes 2 args.

	(slime-eval-print-last-expression): New function.
	(slime-scratch-mode-map, slime-scratch-buffer,
	 slime-switch-to-scratch-buffer, slime-scratch): New functions.

	(slime-propertize-region): Renamed from sldb-propertize-region.

	(when-let): Renamed from when-bind.

2003-11-13 02:22  lgorrie

	* ChangeLog:

	[no log message]

2003-11-13 02:22  lgorrie

	* slime.el:

	(slime-connect): pop-to-buffer into *slime-repl* when we connect.

2003-11-13 01:48  heller

	* ChangeLog:

	[no log message]

2003-11-13 01:36  heller

	* slime.el, swank-openmcl.lisp, swank-sbcl.lisp:

	Modification for the new source-location stuff. I'm sure OpenMCL is
	now pretty broken.

2003-11-13 01:22  heller

	* swank.lisp:

	(swank-pprint): New function.

2003-11-13 01:20  heller

	* swank-cmucl.lisp:


	Do the source-path -> byte-offset translation on the Lisp side.
	(make-compiler-note, resolve-location): New functions.
	*swank-source-info*: New variable.

	(code-location-file-position): Only read the source once.  (We used
	CMUCL's get-translations, which also reads the file.)
	(source-location-for-emacs): Cleanups.

	(map-allocated-code-components): Inline vm::map-allocated-objects and
	declare the SIZE as fixnum to avoid excessive consing.

	(sos/out): Fix off-by-one bug.

2003-11-13 01:10  heller

	* slime.el:


	(slime-goto-source-location): Reorganized.  CMUCL now resolves all
	source-paths on the lisp side.  The code is still ugly because the
	SBCL code is depends on it.
	(slime-edit-fdefinition, slime-show-source-location): Update callers.
	(slime-goto-location): Deleted.

	(slime-eval-feature-conditional): Support for NOT.

	(slime-connect): Make it useful without inferior lisp.

	(slime-process-available-input): Don't start the timer when there was
	a reader error.

	(slime-highlight-notes): slime-compiler-notes-for-file doesn't work
	yet.

2003-11-13 00:59  lgorrie

	* ChangeLog:

	[no log message]

2003-11-13 00:51  lgorrie

	* ChangeLog:

	[no log message]

2003-11-13 00:51  lgorrie

	* slime.el:

	(slime-repl-previous-input, slime-repl-previous-input): When partial
	input has already been entered, the M-{p,n} REPL history commands only
	match lines that start with the already-entered prefix. This is
	comint-compatible behaviour which has been requested. The history
	commands also skip over line identical to the one already entered.

	(slime-complete-maybe-restore-window-confguration): Catch errors, so
	that we don't cause `pre-command-hook' to be killed.

	(slime-truncate-lines): If you set this to nil, slime won't set
	`truncate-lines' in buffers like sldb, apropos, etc.

	(slime-show-description): XEmacs portability: don't use
	`temp-buffer-show-hook'.

	(slime-inspect): Use `(slime-sexp-at-point)' as default inspection
	value (thanks Jan Rychter).

2003-11-10 20:44  lgorrie

	* ChangeLog:

	[no log message]

2003-11-10 20:44  lgorrie

	* slime.el:

	(slime-post-command-hook): Inhibit unless (still) in slime-mode. Only
	call `slime-autodoc-post-command-hook' when `slime-autodoc-mode' is
	non-nil.

	(slime-setup-command-hooks): Use `make-local-hook' instead of
	`make-local-variable'.

2003-11-08 19:59  heller

	* ChangeLog:

	[no log message]

2003-11-08 19:58  heller

	* slime.el:

	slime-highlight-face: Use the :inherit attribute if possible.
	(slime-face-inheritance-possible-p): New function.

2003-11-08 18:01  heller

	* ChangeLog:

	[no log message]

2003-11-08 17:59  heller

	* swank.lisp:

	(completions): Use *buffer-package* if no other package is given.
	(case-convert): Only accept strings as argument.

2003-11-08 17:51  heller

	* slime.el:

	(slime-repl-return): Only send the current input to Lisp if it is a
	complete expression, like inferior-slime-return.
	(slime-input-complete-p): New function.
	(inferior-slime-return): Use it.

2003-11-08 10:11  heller

	* ChangeLog:

	[no log message]

2003-11-08 09:34  heller

	* slime.el:

	Remove the non-working face inheriting stuff.  Hardcode colors for
	slime-highlight-face and specify the :inherit attribute for
	slime-repl-output-face.  So Emacs21 will do the right thing and the
	others get at least a customizable face.

2003-11-08 01:47  heller

	* ChangeLog:

	[no log message]

2003-11-08 01:40  heller

	* swank-sbcl.lisp:

	(swank-macroexpand-all): Implemented.

2003-11-08 01:39  heller

	* swank-cmucl.lisp:

	(briefly-describe-symbol-for-emacs): Add support for alien-types.
	(describe-alien-type, %describe-alien, describe-alien-struct,
	 describe-alien-union,  describe-alien-enum): New functions.

	(source-path-file-position): Read the entire expression with special
	readtable.  The readtable records source positions for each read
	sub-expression in a hashtable.  Extract the subexpression for the
	source path from the read object and lookup the subexpression in the
	hashtable to find its source position.

	(read-and-record-source-map,
	make-source-recorder, make-source-recording-readtable,
	make-source-map, *source-map*, lookup-recording-readtable,
	source-path-stream-position, find-path-in-form,
	find-form-in-source-map)  New functions.

2003-11-08 01:32  heller

	* slime.el:

	(slime-face-attributes, slime-face-font-name): Copy the font too.

	(slime-buffer-package): Try to find be the package name before
	resorting to slime-buffer-package.  Return nil and not "CL-USER" if
	the package cannot be determined.

	(slime-goto-location): Insert notes with a source path but no
	filename or buffername at point.  This can happen for warnings during
	macro expansion. (The macro expander is a interpreted function and
	does not have a filename or buffername.)

	(slime-show-note): Display 2 double quotes "" in the for zero length
	messages.  SERIES tends to signal warnings with zero length messages.

	slime-complete-saved-window-configuration: Store the window config in
	a buffer local variable.

	(slime-print-apropos): Add support for alien types.

	(slime-select-function): Bind pop-up-windows to nil. (Doesn't seem to
	work, though.)

	(slime-selector): Switch to the minibuffer for reading the event.

	(slime-display-buffer-region): Enlarge the window if it is too small.

	(slime-find-buffer-package): Initialize command hooks.

2003-11-06 10:15  lgorrie

	* slime.el:

	Minor cleanup.

2003-11-06 09:55  lgorrie

	* ChangeLog:

	[no log message]

2003-11-06 09:54  lgorrie

	* slime.el:

	(slime-autodoc-mode): When non-nil, display the argument list for the
	function-call near point each time the point moves in a slime-mode
	buffer. This is a first-cut; more useful context-sensitive help to
	follow (e.g. looking up variable documentation).

	(slime-autodoc-cache-type): Cache policy "autodoc" documentation:
	either nil (no caching), 'last (the default - cache most recent only),
	or 'all (cache everything on symbol plists forever).

	Convenience macros:

	  (when-bind (var exp) &rest body)
	    => (let ((var exp)) (when var . body))

	  (with-lexical-bindings (var1 ...) . body)
	    => (lexical-let ((var1 var1) ...) . body)

2003-11-06 07:14  lgorrie

	* ChangeLog:

	[no log message]

2003-11-06 07:14  lgorrie

	* slime.el:

	(slime, slime-lisp-package): Reset `slime-lisp-package' (the REPL
	package) when reconnecting.

	(slime-buffer-package): Return `slime-lisp-package' when the
	major-mode is `slime-repl-mode'.

2003-11-04 23:38  heller

	* ChangeLog:

	[no log message]

2003-11-04 23:33  heller

	* swank.lisp:

	(slime-read-string): Send a :read-aborted event for non-local exits.
	(case-convert): Handle :invert case better.

2003-11-04 23:29  heller

	* slime.el:

	(slime-read-string-state): Add support for evaluation requests.
	(slime-repl-read-break): New command.

	(slime-display-message): Renamed from slime-display-message-or-view.
	(slime-show-evaluation-result-continuation): Save the current-buffer
	so that slime-display-message can add a pre-command hook to remove the
	buffer.
	(slime-display-buffer-region): Simplified.

	slime-keys: XEmacs cannot rebind C-c C-g.  Use C-c C-b as an alternative.
	(slime-selector): XEmacs has no prompt argument for read-char.
	(slime-underline-color, slime-face-attributes): Make face definitions
	compatible with XEmacs and Emacs20.

	(slime-disconnect): Delete the buffer of the socket.
	(slime-net-connect): Prefix the connection buffer name with a space to
	avoid accidental deletion.

2003-11-04 09:03  heller

	* swank-openmcl.lisp, swank-sbcl.lisp:

	(arglist-string): Pass *buffer-package* to find-symbol-designator.

2003-11-04 09:02  heller

	* slime.el:

	Fix test-suite for SBCL.

2003-11-04 01:03  heller

	* slime.el, swank.lisp:

	Duh!  I'd better run the test suite _before_ committing.

2003-11-04 00:26  heller

	* ChangeLog:

	[no log message]

2003-11-04 00:22  heller

	* swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp:

	(arglist-string): Don't intern the function name.  Use find-symbol-designator
	instead.

2003-11-04 00:20  heller

	* swank.lisp:

	(case-convert, find-symbol-designator): New functions.

2003-11-04 00:19  heller

	* slime.el:

	(slime-display-message-or-view, slime-remove-message-window): Also
	display too long lines in a new window.  Add a temporary
	pre-command-hook to remove the multiline window before the next
	command is executed.
	(slime-display-buffer-region): Some of the comments where out of sync
	with the code.

	(slime-complete-symbol): Save the window configuration before
	displaying the completions and try to restore it later.  The
	configuration is restored when: (a) the completion is unique (b) there
	are no completion.  It is also possible to delay the restoration until
	(c) certain characters, e.g, space or a closing paren, are inserted.

	(slime-selector): Don't abort when an unkown character is pressed;
	display a message and continue.  Similiar for ?\?.  Add a selector for
	the *sldb* buffer.

	(slbd-hook, sldb-xemacs-post-command-hook): Emulate Emacs'
	point-entered text property with a post-command hook.

2003-11-03 01:44  lgorrie

	* ChangeLog:

	[no log message]

2003-11-03 01:43  lgorrie

	* slime.el:

	(slime-display-buffer-region): Hacked to fix completely inexplicable
	XEmacs problems.

2003-11-03 00:15  heller

	* ChangeLog:

	[no log message]

2003-11-03 00:11  heller

	* ChangeLog:

	[no log message]

2003-11-03 00:08  heller

	* null-swank-impl.lisp, swank-cmucl.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank.lisp:

	Input redirection works now on the line level, like a tty.
	Output streams are now line buffered.
	We no longer compute the backtrace-length.

2003-11-03 00:05  heller

	* slime.el:


	(slime-repl-read-mode, slime-repl-read-string, slime-repl-return,
	slime-repl-send-string, slime-read-string-state,
	slime-activate-state): Reorganize input redirection.  We no longer
	work on the character level but on a line or region; more like a
	terminal.  This works better, because REPLs and debuggers are usually
	written with a line buffering tty in mind.

	(slime-reading-p, slime-debugging-p):  New functions.

	(sldb-backtrace-length, slime-debugging-state, slime-evaluating-state,
	 sldb-setup, sldb-mode, sldb-insert-frames, sldb-fetch-more-frames):
	 Don't use backtrace-length.  Computing the length of the backtrace is
	(somewhat strangely) an expensive operation in CMUCL, e.g., it takes
	>30 seconds to compute the length when the yellow zone stack guard is
	hit.

	(slime-events-buffer): Set hs-block-start-regexp.

2003-11-02 21:56  lgorrie

	* ChangeLog:

	[no log message]

2003-11-02 21:55  lgorrie

	* slime.el:

	Cleaned for byte-compilation.

2003-11-02 21:15  lgorrie

	* slime.el:

	(slime-log-event): Added a *slime-events* buffer recording all state
	machine events. The buffer uses hideshow-mode to fold messages down to
	single lines.

	(slime-show-source-location): Bugfix: only create source-highlight
	overlay if the source was actually located.

	(slime-selector): Renamed from `slime-select' because that function
	name was already in use. Ooops!

	(slime-lisp-package-translations): Association list of preferred
	package nicknames, for the REPL prompt. By default maps
	COMMON-LISP->CL and COMMON-LISP-USER->CL-USER.

2003-11-02 01:55  lgorrie

	* ChangeLog:

	[no log message]

2003-11-02 01:55  lgorrie

	* swank.lisp:

	(eval-string): force-output on *slime-output* before returning the
	result. This somewhat works around some trouble where output printed
	by lisp is being buffered too long.

2003-11-02 01:54  lgorrie

	* slime.el:

	(slime-lisp-package-translations): Association list of preferred
	package nicknames, for the REPL prompt. By default maps
	COMMON-LISP->CL and COMMON-LISP-USER->CL-USER.

2003-11-02 00:53  lgorrie

	* slime.el:

	Consistent use of slime-repl-output-face (bugfix)

2003-11-01 23:56  lgorrie

	* ChangeLog:

	[no log message]

2003-11-01 23:56  lgorrie

	* swank.lisp:

	(*slime-features*): Variable remembering the FEATURES list.

	(sync-state-to-emacs): Update Emacs about any state changes -
	currently this just means changes to the FEATURES list.

	(eval-string): Call `sync-state-to-emacs' before sending result.

	(eval-region): With optional PACKAGE-UPDATE-P, if the evaluation
	changes the current package, tell Emacs about the new package.

	(listener-eval): Tell `eval-region' to notify Emacs of package
	changes, so that e.g. (in-package :swank) does the right thing when
	evaluated in the REPL.

2003-11-01 23:55  lgorrie

	* slime.el:

	(slime-select): Added an extensible "Select" command, which I gather
	is a LispM/Martin-Cracauer knock-off. When invoked, the select command
	reads a single character and uses that to decide which buffer to
	switch to. New characters can be defined, and the currently availables
	ones can be seen with '?'. I have not assigned a key to Select,
	because it seems like a command that should have a global binding. I
	would suggest `C-c s'.

	(slime-repl-output-face, slime-repl-input-face): Face definitions for
	output printed by Lisp and for previous REPL user inputs,
	respectively. Defaulting the input face to bold rather than underline,
	because it looks better on multi-line input.

	(slime-handle-oob): Two new out-of-band messages
	(:new-features FEATURES) and (:new-package PACKAGE-NAME). These
	are used for Lisp to tell Emacs about changes to *FEATURES* and
	*PACKAGE* when appropriate.

	(slime-same-line-p): Better implementation (does what the name
	suggests).

	(slime-lisp-package): New variable keeping track of *PACKAGE* in Lisp
	-- or at least, the package to use for the REPL.

	(slime-repl-insert-prompt): The prompt now includes the package name.

	(slime-repl-bol): C-a in the REPL now stops at the prompt.

	(slime-repl-closing-return): C-RET & C-M-m now close all open lists
	and then send input in REPL.

	(slime-repl-newline-and-indent): C-j in REPL is now better with
	indentation (won't get confused by unmatched quotes etc appearing
	before the prompt).

2003-11-01 17:58  heller

	* slime.el:

	(slime-init-dispatcher): Delete old debugger windows.

2003-11-01 16:52  heller

	* ChangeLog:

	[no log message]

2003-11-01 16:48  heller

	* swank-openmcl.lisp, swank-sbcl.lisp:

	Implement stream-line-column.

2003-11-01 16:45  heller

	* swank.lisp:

	(slime-read-char): Flush the output before reading.

	(eval-region, listener-eval): New functions.
	(interactive-eval-region): Use eval-region.

2003-11-01 16:43  heller

	* swank-cmucl.lisp:

	(slime-input-stream-misc-ops): Renamed from slime-input-stream-misc.

2003-11-01 16:42  heller

	* slime.el:

	(slime-debugging-state): Save the window configuration in a state variable.
	sldb-saved-window-configuration: Removed.

	(slime-read-char-state): Accept :emacs-evaluate requests.

	(slime-repl-mode): Use conservative scrolling.

	(slime-repl-insert-prompt): Set window-point after the prompt.

	(slime-repl-add-to-input-history): Don't add subsequent duplicates to
	the history.

2003-10-31 20:53  lgorrie

	* slime.el:

	Renamed connection timer to slime-startup-retry-timer.

2003-10-31 20:35  lgorrie

	* ChangeLog, slime.el:

	(slime-repl-mode-map): Bound `slime-interrupt' on both
	C-c C-c and C-c C-g.

2003-10-31 20:29  lgorrie

	* ChangeLog:

	[no log message]

2003-10-31 20:27  lgorrie

	* slime.el:

	Tweaked debugger window management somewhat: the window configuration
	is saved when the debugger is first entered and then restored when the
	idle state is reached.

	(slime-interrupt, slime-quit): Only send the quit/interrupt
	message to Lisp if it is in fact evaluating something for us. This
	fixes a protocol bug reported by Paolo Amoroso.

	Added (require 'pp).

2003-10-31 20:25  lgorrie

	* swank.lisp:

	(interactive-eval): Evaluate in *buffer-package*.

2003-10-31 18:06  heller

	* ChangeLog:

	[no log message]

2003-10-31 17:58  heller

	* swank-openmcl.lisp, swank-sbcl.lisp:

	Gray stream based input redirection from Emacs.

2003-10-31 17:56  heller

	* swank-cmucl.lisp:

	(slime-input-stream, slime-input-stream-read-char,
	slime-input-stream-misc): Character input stream from Emacs.

	(slime-input-stream/n-bin): Removed.

2003-10-31 17:54  heller

	* swank.lisp:

	*read-input-catch-tag*, take-input, slime-read-char: Moved here from
	swank-cmucl.lisp.

	(defslimefun, defslimefun-unimplemented): Move macro definitions to
	the beginning of the file.

2003-10-31 17:51  heller

	* slime.el:


	(slime-repl-read-mode, slime-repl-read-xxx): New minor mode for stream
	character based input to Lisp.

	(slime-read-char-state): Accept :emacs-return-char-code event.
	(slime-read-input-state): Rename to slime-read-char-state.
	(slime-activate-state, slime-evaluating-state): Rename the :read-input
	event to :read-char.

	(slime-do-eval): Make synchronous RPCs interruptible, even in
	process-filters and timer-functions.

	(slime-switch-to-output-buffer): Don't switch the buffer if we are
	already in the output buffer.

2003-10-30 01:01  heller

	* ChangeLog:

	[no log message]

2003-10-30 00:54  heller

	* swank-openmcl.lisp:

	(serve-request): Handle slime-read-errors.

	(sldb-continue, throw-to-toplevel): Moved to swank.lisp.

2003-10-30 00:53  heller

	* swank-sbcl.lisp:

	(serve-request): Bind a slime-toplevel catcher and handle
	slime-read-errors.

	(sldb-continue, throw-to-toplevel): Moved to swank.lisp.

2003-10-30 00:50  heller

	* swank.lisp:

	slime-read-error: New condition.
	(read-next-form): Re-signal the conditions as slime-read-errors.  And
	check the result of read-sequence (i.e. detect CMUCL's read-sequence
	bug).

	(sldb-continue, throw-to-toplevel): Was more or less the same in all
	backends.

2003-10-30 00:45  heller

	* swank-cmucl.lisp:

	(serve-request): Bind a a slime-toplevel catcher. Handle
	SLIME-READ-ERRROs.

	(sldb-loop): Flush output at the beginning.

	(inspect-in-frame): New function.

	(frame-locals): Don't send the validity indicator across wire.  Too
	cmucl specific.

	(sldb-continue, throw-to-toplevel): Moved to swank.lisp

2003-10-30 00:41  heller

	* slime.el:


	Beginnings of a REPL-mode.
	slime-repl-input-history,  slime-repl-input-history-position,
	slime-repl-mode-map, slime-repl-prompt-start-mark,
	slime-repl-input-start-mark, slime-repl-input-end-mark: New variables.
	(slime-repl-mode, slime-repl-xxx): New functions.
	(slime-init-connection): Display the listener.
	(slime-idle-state): Display a prompt on activation.
	(slime-idle-p): New function.
	(slime-output-buffer, slime-insert-transcript-delimiter,
	 slime-show-last-output, slime-switch-to-output-buffer,
	 slime-show-output-buffer, slime-show-evaluation-result,
	slime-show-evaluation-result-continuation): Cooporate with the REPL.

	Minor debugger cleanups.
	(slime-debugging-state): Clear buffers on every :debug-return.
	(sldb-inspect-in-frame): New command.

	(slime-display-buffer-region): Don't resize if there is only one
	window left.

2003-10-29 17:54  lgorrie

	* ChangeLog, slime.el:

	(slime-interrupt, slime-quit): Only send the quit/interrupt message to
	Lisp if it is in fact evaluating something for us. This fixes a
	protocol bug reported by Paolo Amoroso.

	Added (require 'pp).

2003-10-29 05:48  lgorrie

	* ChangeLog, slime.el:

	[no log message]

2003-10-29 00:37  jbielman

	* null-swank-impl.lisp:

	Rename COMPILE-STREAM to COMPILE-STREAM-TRAPPING-CONDITIONS.
	Add function COMPILE-FILE-TRAPPING-CONDITIONS for file compilation.

2003-10-28 23:30  jbielman

	* ChangeLog:

	[no log message]

2003-10-28 23:30  jbielman

	* null-swank-impl.lisp:

	New file, empty implementation of swank-impl.

2003-10-28 20:12  jbielman

	* ChangeLog:

	[no log message]

2003-10-28 20:11  jbielman

	* swank-openmcl.lisp:

	* swank-openmcl.lisp: Pre-refactoring updates to the OpenMCL backend:
	(map-backtrace): Renamed from DO-BACKTRACE.
	(frame-source-location-for-emacs): New function.
	(function-source-location-for-emacs): New function,

	* swank-openmcl.lisp: Docstring updates/additions.

2003-10-27 05:04  lgorrie

	* slime.el, swank-cmucl.lisp, swank.lisp:

	(on bighackattack-1 branch)
	Took a step towards refactoring the backends, working on just the
	CMUCL one to begin with. The backend is now split into a separate
	package, so that all necessary symbols are explicit.

	Major major hackage, but the test suite passes for CMUCL.

	Have not made any actual improvements yet - except for adding
	asynchronous evaluation, which I should have committed before the
	hackage that lead to the branch.

	"Won't stay branched for long!"

2003-10-25 03:54  lgorrie

	* ChangeLog, slime.el, swank-cmucl.lisp, swank-openmcl.lisp,
	  swank-sbcl.lisp, swank.lisp:

	Changed the connection setup to use a dynamic collision-free TCP
	port. The new protocol is this:

	  Emacs calls (swank:start-server FILENAME) via the listener. FILENAME
	  is /tmp/slime.${emacspid}

	  Lisp starts a TCP server on a dynamic available port and writes the
	  port number it gets to FILENAME.

	  Emacs asynchronously polls for FILENAME's creation. When it exists,
	  Emacs reads the port number, deletes the file, and makes the
	  connection.

	The advantage is that you can run multiple Emacsen each with an
	inferior lisp, and the port numbers will never collide and Emacs
	will always connect to the right lisp.

	All backends are updated, but only CMUCL and SBCL are
	tested. Therefore, OpenMCL is almost certainly broken just now.

2003-10-25 00:20  lgorrie

	* ChangeLog:

	[no log message]

2003-10-25 00:19  lgorrie

	* slime.el:

	(inferior-slime-closing-return): New command that closes all open
	lists and sends the result to Lisp. Bound to C-RET and (for people who
	use C-m for RET) C-M-m.

	(inferior-slime-indent-line): Improved indentation in the inferior
	list buffer.

2003-10-24 23:12  lgorrie

	* ChangeLog:

	[no log message]

2003-10-24 23:11  lgorrie

	* slime.el:

	(inferior-slime-return): Command bound to RET in inferior-slime-mode:
	only send the current input to Lisp if it is a complete expression (or
	prefix argument is given). Two reasons: it makes the input history
	contain complete expressions, and it lets us nicely indent
	multiple-line inputs. (Thanks Raymond Toy for the suggestions.)

2003-10-23 18:25  lgorrie

	* ChangeLog:

	[no log message]

2003-10-23 18:24  lgorrie

	* slime.el:

	(slime-maybe-start-lisp): Restart inferior-lisp if the process has
	died.

2003-10-23 17:55  lgorrie

	* ChangeLog:

	[no log message]

2003-10-23 17:52  lgorrie

	* swank-sbcl.lisp:

	(accept-connection): Use a character stream to match swank.lisp.

2003-10-22 23:09  heller

	* ChangeLog:

	[no log message]

2003-10-22 23:06  heller

	* swank-cmucl.lisp:

	(setup-request-handler): Create a character stream.
	(read-next-form): Removed.

2003-10-22 23:04  heller

	* swank.lisp:

	(read-next-form, send-to-emacs): Assume *emacs-io* is a character
	stream. Add the necessary char-code/code-char conversions.

2003-10-22 23:03  heller

	* slime.el:

	slime-keys: Add :sldb keyword for key useful in the debugger.
	(slime-init-keymaps): Allow allow :sldb keyword.

	inferior-lisp-mode-hook: Display the inf-lisp buffer if there is some
	output.

	(slime-process-available-input): Start a timer to process any
	remaining input.
	(slime-dispatch-event): The timer should take care of any lost
	input. So don't process the available input here.  Remove the
	process-input argument.
	(slime-push-state, slime-pop-state, slime-activate-state,
	 slime-idle-state, slime-evaluating-state): Update callers.
	(slime-debugging-state): Remove the unwind-protect in the
	:debug-return clause.  Should not be necessary.

	sldb-mode-map: Define more slime-mode keys.

	(slime-time<, slime-time-add): Removed. Emacs-21 has equivalent time
	functions.
	(slime-sync-state-stack): Use Emacs-21 time-date functions.
	(seconds-to-time, time-less-p, time-add): Compatibility defuns.

2003-10-22 21:05  lgorrie

	* ChangeLog:

	[no log message]

2003-10-22 21:04  lgorrie

	* slime.el:

	(slime): With a prefix argument, prompt for the port number to use for
	communication with Lisp. This is remembered for future connections.

2003-10-22 19:54  lgorrie

	* ChangeLog:

	[no log message]

2003-10-22 19:48  lgorrie

	* slime.el:

	(slime-space): Now allows one to insert several spaces with a prefix
	argument. (Patch from Hannu Koivisto)

2003-10-21 22:51  lgorrie

	* ChangeLog:

	[no log message]

2003-10-21 22:51  lgorrie

	* slime.el:

	(slime-space): Don't give an error when not connected, to avoid
	feeping.

2003-10-21 22:38  lgorrie

	* slime.el:

	outline-mode heading tweak.

2003-10-21 21:45  lgorrie

	* ChangeLog:

	[no log message]

2003-10-21 21:36  lgorrie

	* swank-sbcl.lisp:

	(swank-compile-string): Include only one :SOURCE-PATH attribute in the
	plist, and replace the front element with a 0 (fixes a problem
	probably due to recent hacks to the elisp source-path lookups).

2003-10-21 21:29  lgorrie

	* README:

	[no log message]

2003-10-21 21:18  lgorrie

	* ChangeLog:

	[no log message]

2003-10-21 21:04  lgorrie

	* slime.el:

	(inferior-slime-mode): New minor mode for use with
	`inferior-lisp-mode'. Defines a subset of the `slime-mode' keys which
	don't clash with comint (e.g. doesn't bind M-{p,n}).

	(slime-keys): List of keybinding specifications.

2003-10-21 12:59  lgorrie

	* ChangeLog, swank.lisp:

	Now sorting completions on symbol-name instead of
	`present-symbol-before-p'

2003-10-21 12:48  lgorrie

	* ChangeLog:

	[no log message]

2003-10-21 12:47  lgorrie

	* swank.lisp:

	(completions): Fixed semantics: should now consider only/all
	completions that would not cause a read-error due to symbol
	visibility. Also avoiding duplicates, and sorting the results as with
	apropos.

2003-10-20 19:51  lgorrie

	* ChangeLog:

	[no log message]

2003-10-20 19:36  lgorrie

	* ChangeLog:

	[no log message]

2003-10-20 19:36  lgorrie

	* swank.lisp:

	(completions): Slight change of semantics: when a prefix-designator is
	package-qualified, like "swank:", only match symbols whose
	home-package matches the one given - ignore inherited symbols.

2003-10-20 19:29  lgorrie

	* ChangeLog:

	[no log message]

2003-10-20 19:29  lgorrie

	* slime.el:

	Updated test suite to work with the different backends:
	(find-definition): Lookup definitions in swank.lisp.
	(arglist): Lookup arglists of functions in swank.lisp.

2003-10-20 19:13  heller

	* ChangeLog:

	[no log message]

2003-10-20 19:11  heller

	* slime.el:

	interactive-eval: Test case independent of *print-case*.

2003-10-20 17:12  lgorrie

	* README:

	Updated: works with CMU18e, and with SBCL requires sb-introspect.

2003-10-20 17:10  lgorrie

	* ChangeLog:

	[no log message]

2003-10-20 17:09  lgorrie

	* swank-cmucl.lisp:

	(clear-xref-info): Conditionalised xref:*who-is-called* and
	xref:*who-macroexpands* with #+CMU19. This makes SLIME compatible with
	CMUCL 18e, but also disables the `who-macroexpands' command in any
	CMUCL version that doesn't have the "19A" feature.

2003-10-20 15:56  dbarlow

	* ChangeLog, slime.el, swank-sbcl.lisp, swank.lisp:

	[no log message]

2003-10-19 23:43  heller

	* ChangeLog:

	[no log message]

2003-10-19 23:40  heller

	* swank-sbcl.lisp, swank-openmcl.lisp:

	Bind *slime-input* and *slime-io* to dummy values.

2003-10-19 23:39  heller

	* swank.lisp:

	First shoot at input redirection.
	*slime-input*, *slime-io*: New variables.

2003-10-19 23:38  heller

	* swank-cmucl.lisp:

	First shoot at input redirection.
	slime-input-stream: New structure.
	*read-input-catch-tag*: New variable.
	slime-input-stream/n-bin, take-input: New functions.
	serve-request: Bind input streams.

2003-10-19 23:36  heller

	* slime.el:

	Support for input redirection.
	(slime-activate-state, slime-evaluating-state,
	 slime-read-input-state): Add new read-input-state.
	(slime-show-output-buffer): New function.

	slime-hide-style-warning-count-if-zero: Make suppression of
	style-warnings customizable.

	(sldb-show-frame-details): Fix indentation of catch-tags.

2003-10-19 18:17  lgorrie

	* ChangeLog:

	[no log message]

2003-10-19 18:17  lgorrie

	* slime.el:

	(slime-connect): Print a message during connection attempts unless the
	minibuffer is active (it's annoying to get messages while trying to
	enter commands).

2003-10-19 14:25  lgorrie

	* ChangeLog:

	[no log message]

2003-10-19 14:25  lgorrie

	* slime.el:

	(slime-state/event-panic): Illegal events in the communication state
	machine now trigger a general panic that disconnects from Lisp and
	displays a message describing what has happened. This is a bug
	situation.

2003-10-19 12:45  lgorrie

	* ChangeLog:

	[no log message]

2003-10-19 12:45  lgorrie

	* slime.el:

	(slime): Connection setup is now asynchronous, with retrying on a
	timer. This makes it possible to bring the server up by hand while
	debugging. `M-x slime' while already connected will cause the old
	connection to be dropped and a new one established.

	(slime-disconnect): New command to disconnect from Swank, or cancel
	asynchronous connection attempts when not yet connected.

2003-10-19 12:05  lgorrie

	* ChangeLog:

	s/Christopher/Christophe/g -- oops!

2003-10-18 22:14  heller

	* ChangeLog:

	[no log message]

2003-10-18 22:06  heller

	* slime.el:

	(slime-dispatch-event, slime-activate-state, slime-push-state,
	 slime-pop-state): Add a process-input argument to control processing
	of pending input.  The argument should be true when the function is
	called in "tail position".  Modify callers accordingly.

	(slime-evaluating-state): Process the available input after printing
	the "Evaluation aborted." message.

	(slime-debugging-state): Decrement sldb-level on :debug-return events.
	The sldb buffer was not reinitialized in programs like (progn (break)
	(break) t), because the sldb-level had not changed.

	(slime-compile-region, compile-string): New functions.
	(slime-compile-defun): Use compile string.
	(slime-goto-location, slime-goto-source-location): Use full source
	path when (eq from :stream).  Needed for compile-region.

	(slime-show-note-counts, slime-note-count-string): Suppress style
	warnings when their count is zero.

	(sldb-default-action/mouse): Emacs20 compatibility fix.

	slime-evaluating-state-activation-hook: Hook for testing.
	(slime-time<, slime-time-add, slime-sync-state-stack): Utilities for testing.
	(loop-interrupt-quit, loop-interrupt-continue-interrupt-quit,
	 interactive-eval): New tests.

2003-10-18 07:07  jbielman

	* ChangeLog:

	[no log message]

2003-10-18 07:07  jbielman

	* .cvsignore:

	Add OpenMCL and SBCL fasl file extensions.

2003-10-18 07:06  jbielman

	* swank-openmcl.lisp:

	(who-calls): Fix bug where we would try to
	take the TRUENAME of NIL when source information isn't available
	for a caller.
	(backtrace-for-emacs): Clean up the backtrace code a bit in
	preparation for implementing FRAME-LOCALS.
	(frame-catch-tags): Implement a stub version of this.
	(frame-locals): Implemented fully for OpenMCL.

2003-10-18 07:06  jbielman

	* swank-loader.lisp:

	(compile-files-if-needed-serially): Be a little
	more verbose when compiling files.

2003-10-17 23:19  heller

	* ChangeLog:

	[no log message]

2003-10-17 23:18  heller

	* swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Move more stuff to swank.lisp.

2003-10-17 21:55  lgorrie

	* ChangeLog:

	[no log message]

2003-10-17 21:55  lgorrie

	* slime.el:

	(slime-post-command-hook): Check that we are connected before trying
	to process input.

	(slime-net-connect): Handle `network-error' condition for XEmacs
	21.5. (Thanks Raymond Toy.)

2003-10-17 21:48  lgorrie

	* ChangeLog, swank.lisp:

	[no log message]

2003-10-17 21:47  lgorrie

	* slime.el:

	(slime-style-warning-face): Added style-warnings, which are between a
	warning and a note in severity. (Patch from Christopher Rhodes).

2003-10-17 21:45  lgorrie

	* swank-sbcl.lisp:

	Report style-warnings separately from notes (patch from Christopher
	Rhodes).

	Use REQUIRE to load sb-introspect instead of loading the source file
	(requires the sb-introspect library to be installed, which doesn't yet
	happen in the sourceforge-lagged SBCL anoncvs, but does in the real
	one).

2003-10-17 21:45  lgorrie

	* test.sh:

	When the test fails to complete, print "crashed" instead of reporting
	nonsense.

2003-10-17 21:09  jbielman

	* ChangeLog, slime.el, swank-cmucl.lisp, swank-loader.lisp,
	  swank-openmcl.lisp, swank-sbcl.lisp, swank.lisp:


	Many fixes for the OpenMCL port:

	   * swank.lisp (apropos-symbols): Change back to using the standard
	   2-argument APROPOS-LIST and check symbols explicitly when
	   EXTERNAL-ONLY is true.
	   Move loading of sys-dependent backend code into 'swank-loader'.

	   * swank-sbcl.lisp: Moved declarations of *PREVIOUS-COMPILER-CONDITION*
	   into 'swank.lisp' to kill warnings about undefined variables.

	   * swank-openmcl.lisp (handle-compiler-warning): Use source position
	   instead of function name for warning locations.
	   (swank-compile-string): Compile into a temporary file instead of
	   using COMPILE so finding warning positions works when using C-c C-c.
	   (compute-backtrace): Don't display frames without a function.
	   (apropos-list-for-emacs): Implement APROPOS.
	   (who-calls): Implement WHO-CALLS.
	   (completions): Implement COMPLETIONS.
	   Use NIL instead of zero so FRESH-LINE does the right thing.

	   * slime.el (slime-maybe-compile-swank): Removed function---compile
	   the backend using 'swank-loader.lisp' instead.
	   (slime-backend): Changed default backend to 'slime-loader'.
	   (slime-lisp-binary-extension): Deleted as this is no longer needed.

	   * swank-loader.lisp: New file.

2003-10-17 19:42  lgorrie

	* ChangeLog:

	[no log message]

2003-10-17 19:42  lgorrie

	* slime.el:

	(slime-net-connect): Check that 'set-process-coding-system' is fbound
	before calling it. This is needed in the XEmacs I built from sources.

2003-10-17 04:08  dbarlow

	* swank.lisp:

	<rtoy_> Ok.  There is a mistake in the local vars part in swank.lisp.
	;;; End needs a colon at the end to match the colon on ;;; Local Variables:

2003-10-17 03:39  dbarlow

	* swank.lisp:

	Fix random typos

2003-10-17 03:38  dbarlow

	* swank-sbcl.lisp:

	Transplanted Helmut's serve-event server to
	replace the existing thread-using server.  SLIME now has no
	dependency on SB-THREAD

2003-10-17 03:38  dbarlow

	* slime.el:

	(slime-find-buffer-package): handle errors from (read)
	for the case where the buffer ends before the in-package form does
	(slime-set-package): insert missing comma
	(slime-goto-source-location): sbcl has a disagreement with emacs
	over the meaning of a character position.  Level up with
	C-M-f C-M-b

2003-10-17 03:37  dbarlow

	* ChangeLog:

	[no log message]

2003-10-17 00:56  lgorrie

	* test.sh:

	Don't bother limiting retries.
	Increase max-lisp-eval-depth (possibly cheating)

2003-10-16 23:29  lgorrie

	* test.sh:

	Added:
	  (setq debug-on-quit t)
	  (setq slime-swank-connection-retries 50)

2003-10-16 23:28  lgorrie

	* ChangeLog, .cvsignore:

	[no log message]

2003-10-16 23:28  lgorrie

	* slime.el:

	(slime-forward-source-path): Improved somewhat. Seems to work for all
	common cases except backquote. Backquote is tricky, because the
	source-paths are based on the reader's expansion, e.g.:

	  * (let ((*print-pretty* nil))
	      (print (read-from-string "`(a ,@(b c) d)")))
	    -->
	    (COMMON-LISP::BACKQ-CONS (QUOTE A)
	                             (COMMON-LISP::BACKQ-APPEND (B C)
	                                                        (QUOTE (D))))

	Must investigate whether we need to write a hairy
	backquote-traversing state machine or whether this is something
	that could be fixed in CMUCL.

2003-10-16 23:03  lgorrie

	* swank.lisp:

	Fixed braino in previous change.

2003-10-16 23:03  lgorrie

	* swank-cmucl.lisp, swank-openmcl.lisp:

	Fixed braino in previous change: call-trapping-compilation-notes was
	left as a macro.

2003-10-16 22:05  lgorrie

	* ChangeLog, swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	The macro `with-trapping-compiler-notes' is now defined in the
	portable code, and expands to a call to the backend-defined
	`call-trapping-compiler-notes' with the body wrapped in a lambda. This
	is to avoid swank.lisp referring to macros in the backends -- it gets
	compiled first so it thinks they're functions.

2003-10-16 18:10  lgorrie

	* slime.el:

	Fixed braino in previous change.

2003-10-16 18:08  lgorrie

	* ChangeLog:

	[no log message]

2003-10-16 18:07  lgorrie

	* slime.el:

	(slime-swank-connection-retries): New default value is `nil', which
	means unlimited retries (until user aborts). Retry interval also
	reduced from once per second to four times per second.

2003-10-16 13:13  heller

	* ChangeLog:

	[no log message]

2003-10-16 13:10  heller

	* swank-cmucl.lisp:

	(read-next-form): Isn't quite portable. Redefine it here.
	(read-symbol/package): Deleted. (Was not used.)
	(function-source-location): Deal with struct-slot setters.

2003-10-16 13:08  heller

	* swank.lisp:

	swank::*sysdep-pathname*: Use defparameter so that cmucl loads the fasl file.
	(compiler-notes-for-emacs): Got lost during refactoring.

2003-10-16 04:05  dbarlow

	* swank.lisp:

	silly packaging mistake

2003-10-16 01:02  dbarlow

	* swank-openmcl.lisp:

	missed a bit

2003-10-16 00:48  dbarlow

	* swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:


	Third portablizing iteration: more refactoring common bits

	pprint-eval set-package *compiler-notes* clear-compiler-notes
	*notes-database* clear-note-database features canonicalize-filename
	compiler-notes-for-file compiler-notes-for-emacs measure-time-interval
	call-with-compilation-hooks
	list-all-package-names apropos-symbols print-output-to-string
	print-description-to-string describe-symbol describe-function
	apply-macro-expander swank-macroexpand-1 swank-macroexpand
	disassemble-symbol

2003-10-16 00:02  dbarlow

	* swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	Second iteration refactoring common bits:

	server-port *swank-debug-p* start-server *emacs-io* *slime-output*
	read-next-form read-form *redirect-output* read-from-emacs
	send-to-emacs prin1-to-string-for-emacs defslimefun *buffer-package*
	from-string to-string guess-package-from-string eval-string
	interactive-eval defslimefun-unimplemented
	*swank-io-package*

2003-10-15 23:24  dbarlow

	* ChangeLog, swank-cmucl.lisp, swank-openmcl.lisp, swank-sbcl.lisp,
	  swank.lisp:

	First checkin on the way to rearranging the backends.  Rename
	swank.lisp to swank-cmucl.lisp, then create new swank.lisp which loads
	an appropriate backend according to *features*.

	Next, identify common functions in the backends and move them into
	swank.lisp

2003-10-15 19:47  heller

	* ChangeLog:

	[no log message]

2003-10-15 19:39  heller

	* slime.el:

	(slime-inspect, slime-list-callers, slime-list-callees): New commands.

	(destructure-case): Avoid multiple otherwise cases (breaks in xemacs).

	(slime-make-state-function): Put inside a eval-when-compile.

	Inspector support.

2003-10-15 19:30  heller

	* swank.lisp:

	*swank-io-package*: Import t and quote.

	(prin1-to-string-for-emacs): Use standard-io-syntax.

	(*previous-compiler-condition*, *previous-context*,
	handle-notification-condition, clear-compiler-notes,
	compiler-note-for-emacs, minimal-compiler-note-for-emacs,
	severity-for-emacs): Try to deal with error messages without context
	info.

	(list-callers, list-callees): Find callers by inspecting the constant
	pool of code components.

	(find-fdefinition, function-debug-info, fdefinition-file,
	code-definition-file): Deleted.

	Inspector support.

2003-10-15 18:56  lgorrie

	* ChangeLog:

	[no log message]

2003-10-15 18:23  lgorrie

	* README:

	Added note about FAIRLY-STABLE tag.

2003-10-15 18:19  lgorrie

	* README:

	More updates.

2003-10-15 17:01  lgorrie

	* ChangeLog:

	[no log message]

2003-10-15 16:59  lgorrie

	* slime.el:

	(slime-point-moves-p): Macro for executing subforms and returning true
	if they move the point.

2003-10-15 16:59  dbarlow

	* ChangeLog, README, README.sbcl:

	Updated verbiage to reflect multiple backends and change of hosting provider

2003-10-15 16:44  lgorrie

	* ChangeLog, test.sh:

	[no log message]

2003-10-15 16:43  lgorrie

	* slime.el:

	Set `indent-tabs-mode' to nil. This makes diffs look
	better.
	(slime-start-swank-server): Now passing the port number of
	SWANK:START-SERVER.
	(slime-evaluating-state): Debugging synchronous evaluations with
	recursive edits now works.
	(slime-forward-sexp): Added support for #|...|# reading comments.
	(sldb-hook): New hook for entry to the debugger (used for the test
	suite).
	(slime-run-tests): Reworked the testing framework. Now presents
	results in an outline-mode buffer, with only the subtrees
	containing failed tests expanded initially.
	(slime-check): Check-name can now be a string or
	format-control. (Test cases have been updated to take advantage of
	this.)
	(compile-defun): This test case now works for the case containing
	#|..|#
	(async-eval-debugging): New test case for recursively debugging
	asynchronous evaluation.

2003-10-15 16:17  dbarlow

	* ChangeLog, slime.el:

	Add mouse-2 clickability for areas in sldb buffers covered by the
	sldb-default-action property: restarts can now be mouse-activated

	Sync ChangeLog

2003-10-15 15:59  dbarlow

	* swank-sbcl.lisp:

	First cut at an SBCL backend for SLIME.  Note that this requires
	the SB-INTROSPECT package which is presently only in SBCL CVS HEAD

	;;; Cursory testing has found that the following appear to work
	;;;
	;;; * Symbol completion.
	;;; * Evaluation of forms with C-M-x
	;;; * Apropos
	;;; * Compilation of defuns with C-c C-c
	;;; * File compilation with C-c C-k, apparently including error parsing
	;;; * Disassembling the symbol at point with C-c M-d
	;;; * Describing symbol at point with C-c C-d
	;;; * Macroexpanding with C-c RET
	;;; * find-definition, using sb-introspect
	;;; * Basic debugger stuff: restarts, backtrace, toggle details
	;;; * Can now interrupt a busy sbcl with C-c C-g
	;;; * Most of the tests
	;;;
	;;; Things that aren't done/don't work yet:
	;;;
	;;; * Cross-referencing (nor is it likely, absent XREF port to SBCL)
	;;; * testsuite can't find LOOP, reports bogus failure on some arglist lookups
	;;; * eval-in-frame
	;;; * M-. has an off-by-two (character positions) error
	;;; * A slime command to load an asdf system.  Note that this might involve
	;;;    compiling/loading files that Emacs has no buffers for
	;;; * Dealing with multiple threads

2003-09-29 03:59  jamesjb

	* ChangeLog:

	[no log message]

2003-09-29 02:25  jamesjb

	* slime.el:

	* slime.el (slime-goto-location): Try to position notes based on
	some (questionable) regex searching if the :FUNCTION-NAME property
	is set.  Used in the OpenMCL backend which does not support source
	paths.

2003-09-29 02:25  jamesjb

	* swank-openmcl.lisp:

	* swank-openmcl.lisp: New file, a Slime backend for OpenMCL 0.14.x.

2003-09-29 02:15  lukeg

	* ChangeLog:

	[no log message]

2003-09-29 02:15  lukeg

	* slime.el:

	(slime-eval-string-async): Give a meaningful error message when
	trying to make a request while already busy.
	(slime-lisp-binary-extension): Uh oh, time to start taking out
	gratuitous CMUCL-isms. This variable renamed from
	`slime-cmucl-binary-extension'.
	(slime-backend): Name of the Lisp backend file, defaulting to
	"swank", but can be set to e.g. "swank-openmcl".

2003-09-29 00:39  lukeg

	* ChangeLog:

	[no log message]

2003-09-29 00:38  lukeg

	* swank.lisp:

	Minor protocol changes to accomodate slime.el's changes.

2003-09-29 00:36  lukeg

	* slime.el:

	Fairly major hacking.
	Rewrote the evaluation mechanics: similar design but some macros
	to make it look more like a push-down automaton (which it really
	was!). Debugging Lisp no longer uses recursive edits, partly as a
	side-effect and partly to see if it's better this way.
	Removed the asynchronous-communication test cases that tested
	something we decided not to do.

2003-09-28 12:10  ellerh

	* ChangeLog:

	[no log message]

2003-09-28 12:06  ellerh

	* swank.lisp:

	(getpid, set-package, set-default-directory): New functions.

	(slime-out-misc): Don't send empty strings.

	(*redirect-output*, read-from-emacs): A new switch to turn output
	redirection off. Useful for debugging.

	(interactive-eval, interactive-eval-region, pprint-eval,
	re-evaluate-defvar): Bind *package* to *buffer-package*.

	(with-trapping-compilation-notes): Add a dummy argumetn for better
	indentation.
	(measure-time-intervall, call-with-compilation-hooks): Measure
	compilation time.

	(frame-locals): Use di::debug-function-debug-variables instead of
	di:ambiguous-debug-variables. Don't access non-valid variables.

2003-09-28 12:00  ellerh

	* slime.el:

	(slime-display-message-or-view): Delete old multi-line windows.
	(slime-read-package-name): Added an optional initial-value argument.

	slime-pid: New variable.
	(slime-init-dispatcher): Initialize slime-pid.
	(slime-send-sigint): Use slime-pid instead of inferior-lisp-proc.
	(slime-eval): Accept debug-condition messages.

	(slime-output-buffer): Turn slime-mode on.
	(slime-switch-to-output-buffer): New command.  Bound to C-c C-z.
	(slime-show-note-counts): Display compilation time.

	(slime-untrace-all, slime-set-package, slime-set-default-directory
	 slime-sync-package-and-default-directory): New commands.

	(slime-princ-locals): Don't access non-valid variables.  This may cause
	segfaults and severely confuse CMUCL.

	(slime-define-keys): New macro.

2003-09-28 01:58  lukeg

	* ChangeLog:

	[no log message]

2003-09-28 01:58  lukeg

	* swank.lisp:

	(create-swank-server): Bind the listen-socket on the loopback
	interface by default, so that remote machines can't connect to the
	Swank server.

2003-09-28 01:25  lukeg

	* ChangeLog:

	[no log message]

2003-09-28 01:25  lukeg

	* slime.el:

	(def-slime-test): All tests now being with (slime-sync).
	This fixes some accidental/bogus test failures.

2003-09-27 22:28  lukeg

	* swank.lisp:

	(with-trapping-compilation-notes): New macro for bindings the handlers
	to record compiler notes. Now being used in `compile-string', which I
	had broken when removing the compilation hook.

2003-09-27 21:10  lukeg

	* ChangeLog:

	[no log message]

2003-09-27 21:10  lukeg

	* slime.el:

	* slime.el (slime-function-called-at-point): Rewritten to work
	better. Now considers "((foo ..." _not_ to be a function call to
	foo because of the double ('s - this will keep it from misfiring
	in e.g. LET bindings.

2003-09-27 19:50  lukeg

	* ChangeLog:

	[no log message]

2003-09-27 19:50  lukeg

	* slime.el:

	Oops! Previous log message refers to swank.lisp, of course. Only
	whitespace changes in this commit. Here's the correct log info for the
	previous one:

	(slime-fetch-features-list): New command to fetch the
	*FEATURES* list from Lisp and store it away. This is done
	automatically upon connection, but can also be called manually to
	update.
	(slime-forward-reader-conditional): Now does the right things with
	reader-conditionals (#+ and #-) based on the Lisp features.

2003-09-27 19:48  lukeg

	* slime.el, swank.lisp:

	(handle-notification-condition): Rewrote
	compiler-note collection. Now it uses lower-level condition
	handlers instead of c:*compiler-notification-function*. This way
	the error messages are tailored to omit redundant information,
	like the filename and original source text (which are displayed
	and highlighted in Emacs already). Much nicer.
	(sort-contexts-by-source-path): Now sorting xref results by
	lexical source-path order, so that you're always jumping in the
	same direction.
	(*debug-definition-finding*): New variable. You can set this to
	true if you want to be popped into the debugger when M-. fails to
	find a definition (for debugging the
	definition-finding). Otherwise it reports the error to Emacs as a
	message, like "Error: SETQ is a special form."

2003-09-26 21:37  lukeg

	* README:

	Added gmane.org archive reference.

2003-09-26 21:29  lukeg

	* ChangeLog:

	[no log message]

2003-09-26 21:29  lukeg

	* slime.el:

	(sldb-setup): Setting `truncate-lines' to t in the debug buffer. I
	like having the backtrace take strictly one line per frame, since
	otherwise a few ugly arguments (e.g. streams) can chew up a lot of
	space. (Can make this a configurable on request if tastes differ :-)

2003-09-26 21:29  lukeg

	* swank.lisp:

	Did a little defensive programming so that asking for the definition
	of an unbound function will return nil to Emacs instead of entering
	the debugger.

	(format-frame-for-emacs): Binding *PRETTY-PRINT* to nil when
	formatting frames (due to related change of setting `truncate-lines'
	in sldb buffer of slime.el).

2003-09-25 00:27  ellerh

	* ChangeLog:

	[no log message]

2003-09-25 00:23  ellerh

	* swank.lisp:


	Support for stream redirection.

	slime-output-stream: New structure.
	(slime-out-misc): New function.
	*slime-output*: New variable.
	(read-from-emacs): Redirect output to *slime-output*.

	(read-form): Bind *package* inside the standard-io-syntax macro.

	(eval-string): Read the string with read-form.

	(completions): Support for keyword completion.

2003-09-25 00:16  ellerh

	* slime.el:

	(slime-process-available-input, slime-eval): Rewritten once again.
	Don't use unwind-protect anymore. Didn't work properly when the Lisp
	side aborted due to too many debug levels. "Continuing" from the Emacs
	debugger aborts one level on the Lisp side. "Quitting" from the Emacs
	debugger quits the Lisp side too. Increase stack sizes before entering
	the recursive edit.

	(slime-eval-async-state, slime-eval, sldb-state): Support for stream
	output.
	slime-last-output-start: New variable.
	(slime-output-buffer, slime-output-buffer-position,
	 slime-insert-transcript-delimiter, slime-show-last-output,
	 slime-output-string): New functions.
	(slime-show-evaluation-result,
	slime-show-evaluation-result-continuation): Use them.

	(slime-use-inf-lisp-p, slime-insert-transcript-delimiter,
	 slime-inferior-lisp-marker-position,
	 slime-inferior-lisp-show-last-output): Deleted.

	(slime-use-tty-debugger, slime-debugger-hook,
	slime-enter-tty-debugger, slime-tty-debugger-state): Deleted. Removed
	tty debugger support.

	(def-sldb-invoke-restart): Renamed.
	(define-sldb-invoke-restart-key, define-sldb-invoke-restart-keys):
	Version without eval.

	(defun-if-undefined): New macro.

	Many indentation fixes.

2003-09-23 16:37  ellerh

	* ChangeLog:

	[no log message]

2003-09-23 16:35  ellerh

	* swank.lisp:

	(completions): Moved most of the completion code to Lisp.
	(string-prefix-p): Be case insensitive.

2003-09-23 16:33  ellerh

	* slime.el:

	Make sure define-minor-mode is defined before we use it.

	(slime-mode): Escape . in key-sequence.

	(slime-net-have-input-p): Subtract the first 3 byte from buffer-length.

	(slime-completing-read-internal, slime-completing-read-symbol-name,
	slime-read-from-minibuffer, slime-completions, slime-complete-symbol):
	Support for reading symbols and expressions with completion.
	(slime-read-symbol-name): New function.
	(slime-read-symbol): Use it.
	(slime-read-package-name): Case insensitive completion.

	(slime-edit-symbol-fdefinition, slime-edit-fdefinition): Rename
	slime-edit-symbol-fdefinition to slime-edit-fdefinition.

	(slime-substring-no-properties): Renamed to substring-no-properties.

2003-09-23 12:08  lukeg

	* ChangeLog:

	[no log message]

2003-09-23 11:54  lukeg

	* swank.lisp:

	xref improvements.

2003-09-23 11:54  lukeg

	* slime.el:

	(slime-show-xrefs): Improved the xrefs buffer, now using a custom
	minor mode.

	(slime-next-location): This function goes to the next "something" by
	funcall'ing slime-next-location-function. Currently that variable is
	set by xref commands like who-calls to go to the next matching
	reference. In future it can also be used to go to the next function
	definition for a generic-function-understanding version of
	edit-fdefinition. Bound to C-M-. and C-c C-SPC, until we see which
	binding is better.

2003-09-22 08:39  lukeg

	* hyperspec.el:

	Added and integrated Erik Naggum's hyperspec-lookup module.

2003-09-22 08:03  lukeg

	* ChangeLog:

	[no log message]

2003-09-22 08:03  lukeg

	* slime.el:

	(slime-edit-fdefinition): Now uses looks up the symbol at point,
	not the function being called at point.

2003-09-22 07:50  lukeg

	* swank.lisp:

	(who-calls, who-references, who-binds, who-sets, who-macroexpands):
	New function.

	(present-symbol-before-p): Use `*buffer-package*' when checking
	accessibility of symbols.

2003-09-22 07:38  lukeg

	* slime.el:

	(slime-symbol-at-point): Now returns a symbol, as the name suggests.

	(slime-symbol-name-at-point): This one returns a string.

	(slime-read-symbol): New function for taking the symbol at point, or
	prompting if there isn't one.

	(slime-restore-window-configuration): New command to put the Emacs
	window configuration back the way it was before SLIME last changed it.

	(slime-who-calls, etc): Very basic WHO-{CALLS,..} support. Not
	finished, wrestling around trying to make `view-mode' or `help-mode'
	help me (I just want to hijack RET and C-m). Bound to "C-c C-w ...".

	Rearranged the `outline-mode' structure slightly.

	(slime-check-connected): Using new function to give a helpful error
	message if you try to use commands before establishing a connection to
	CMUCL.

	(sldb-mode): Keys 0-9 are now shortcuts to invoke restarts.

	(slime-choose-overlay-region): Tweaked overlay placement.

2003-09-21 22:15  ellerh

	* swank.lisp:

	(print-error-message): Pass all error messages to
	*compiler-notification-function*.

2003-09-21 00:26  lukeg

	* ChangeLog:

	[no log message]

2003-09-21 00:26  lukeg

	* README, slime.el:

	Updated commentary.

2003-09-20 23:45  lukeg

	* swank.lisp:

	Pruned dead/commented function.

2003-09-20 23:07  lukeg

	* ChangeLog:

	[no log message]

2003-09-20 23:07  lukeg

	* swank.lisp:

	(handle-notification): Skipping null notifications. For some reason
	CMUCL occasionally calls us with NIL as each argument.

2003-09-20 23:07  lukeg

	* slime.el:

	(slime-choose-overlay-region): Tweaked overlay placement.

2003-09-20 21:47  lukeg

	* ChangeLog:

	Merged in Helmut's CVS logs -- lots of new stuff!

2003-09-19 22:34  ellerh

	* slime.el:

	(slime-connect): Propose default values when called interactively.

	(slime-process-available-input): If possible, use while rather than
	recursion.

	(slime-compilation-finished-continuation): New function.
	(slime-compile-file, slime-compile-defun): Use it.

	(slime-forward-source-path): Id an error is encounter move back to the
	last valid point.

	(slime-eval-region): Use append COND.  Send the entire string to the
	Lisp side and read&evaluate it there.

	(slime-eval-buffer): New function.

	(sldb-sugar-move, sldb-details-up, sldb-details-down): New functions.

2003-09-19 22:24  ellerh

	* swank.lisp:

	(interactive-eval-region): New function.

	(re-evaluate-defvar): New function.

	(compile-defun): Install handler for compiler-errors.

	(function-first-code-location): Simplified.

2003-09-17 22:59  ellerh

	* swank.lisp:

	(read-string, from-string): Renamed read-string to from-string.
	(to-string) New function.

	(arglist-string): Catch reader errors.

	(sldb-loop): Also bind *readstrable*.

2003-09-17 22:55  ellerh

	* slime.el:

	(slime-apropos-all): New command, bound to C-c M-a.

	(slime-eval): Simplified.

	(swank:arglist-string): Send a string and not a symbol.  It easier to
	package related thins in CL.

	(slime-edit-symbol-fdefinition): Prompt when called with
	prefix-argument.

	(slime-eval-region): New function.

	(slime-load-file): New function.

	(slime-show-description): Set slime minor mode in Help buffer.

2003-09-16 23:05  ellerh

	* swank.lisp:

	(function-source-location, function-source-location-for-emacs): New
	functions to extract source locations from compiled code.
	For struct-accessors we try to find the source location of the
	corresponding constructor.

	(list-all-package-names): New function.

	(toggle-trace-fdefinition, tracedp): New functions.

2003-09-16 23:01  ellerh

	* slime.el:

	(slime-toggle-trace-fdefinition): New command.

	(slime-symbol-at-point, slime-sexp-at-point): New utility functions.

	(slime-edit-symbol-fdefinition): Similar to slime-edit-fdefinition but
	uses swank:function-source-location-for-emacs.
	(slime-goto-source-location): New function.
	(sldb-show-source): Use it.

	(slime-read-package-name): Completing read for package names.
	(slime-apropos): Use it.

2003-09-16 00:46  ellerh

	* swank.lisp:

	Moved many CL fragments from slime.el to swank.lisp.

	(defslimefun): New macro.

2003-09-16 00:41  ellerh

	* slime.el:

	Moved many CL fragments from slime.el to swank.lisp.

	(slime-compile-file, slime-compile-defun, slime-goto-location):
	Compiler notes are now represented with a property list.  To find the
	source expression first move to the file offset of the top-level form
	and then use the source path to find the expression.  This should
	avoid many reader issues.  For compile-defun store the start position
	of the top-level expression from the buffer in the compiler notes and
	use that to locate error messages.  Add error overlays for notes
	without context to the first available expression.

	(slime-process-available-input): Don't protect from reader errors.

2003-09-15 05:07  lukeg

	* ChangeLog:

	[no log message]

2003-09-15 04:50  lukeg

	* swank.lisp:

	(apropos-list-for-emacs): Hacked the apropos listing to accept more
	options and to specially sort results.

2003-09-15 04:49  lukeg

	* slime.el:

	(slime-net-send): Added newlines to messages over the wire. This makes
	the protocol nicely readable in Ethereal.

	(slime-sync): New function for blocking until asynchronous requests
	are complete.

	(slime-apropos): Hacked the apropos command: by default, only external
	symbols are shown. With a prefix argument you have the option to
	include internal symbols and to specify a package.

	(slime-run-tests): Extended the test suite. Use `M-x slime-run-tests'
	to run it.

2003-09-15 00:02  ellerh

	* swank.lisp:


	(serve-request, read-next-form): Don't bind any handlers that are
	visible in the code we are going to evaluate.

	(prin1-to-string-for-emacs): Bind print-readably to t.

	(eval-string-async): Renamed to eval-string.

	(eval-string): Don't catch reader errors.  Return either OK, ABORTED
	or DEBUGGER-HOOK (used to be (CALL-CONTINUATION (OK | ABORT)) and
	DEBUGGER-HOOK).

	*buffer-package*: New variable.

	(read-string): New function.

	(sldb-loop): Report unhandled debug-conditions to Emacs.

2003-09-14 23:52  ellerh

	* slime.el:


	(slime-net-connect, slime-net-send): Set coding system to
	'no-conversion and convert mutlibyte-strings to unibyte before
	sending.

	(slime-process-available-input): Read all available input, even when
	someone throws out of slime-take-input.

	(slime-eval): Invoke the debugger on the Lisp and Emacs side when an
	error occurs on the Lisp side.  We do this because the Emacs debugger
	runs in a recursive edit.  When the Lisp debugger aborts or continues
	then leave the Emacs debugger and vice versa.

	(slime-space): Show the arglist only when we are in idle-state or
	sldb-state.

	(slime-show-apropos): Turn on slime minor mode, so we can use M-. here.

	(slime-describe-symbol): Don't query by default.

	(slime-interrupt, slime-quit): New commands.  Only available in idle-
	and sldb- states.

	(sldb-toggle-details): New commands.  Show local variables and
	catch-tags in the backtrace.

2003-09-14 04:06  lukeg

	* slime.el:

	Removed (require 'cmucl-wire).

2003-09-14 04:05  lukeg

	* cmucl-wire.el:

	Removed.

2003-09-14 01:39  lukeg

	* ChangeLog:

	[no log message]

2003-09-14 01:04  lukeg

	* slime.el, swank.lisp:

	Debugger from Helmut, new communication protocol.

2003-09-11 18:11  lukeg

	* ChangeLog:

	[no log message]

2003-09-11 18:11  lukeg

	* slime.el:

	(slime-mode): Added Helmut's commands to the mode
	description.
	(slime-show-apropos): Setting `truncate-lines' to t in apropos
	listings, to avoid line-wrapping on overly long descriptions.
	(slime-run-tests): Added the beginnings of an automated test
	suite. (This is most useful for testing cross-Emacsen
	compatibility before releases.)

2003-09-11 18:08  lukeg

	* swank.lisp:

	(symbol-external-p): Put back this function which was lost in a merge.

2003-09-10 21:33  lukeg

	* ChangeLog, cmucl-wire.el, slime.el, swank.lisp:

	Large patch from Helmut Eller. Includes: apropos, describe,
	compile-defun, fully asynchronous continuation-based wire interface,
	interactive evaluation, and more. Very nice :-)

2003-09-08 15:37  lukeg

	* ChangeLog:

	[no log message]

2003-09-08 15:34  lukeg

	* swank.lisp:

	(find-fdefinition): Support for finding function/macro definitions for
	Emacs.

2003-09-08 15:33  lukeg

	* slime.el:

	(slime-swank-connection-retries): Increased default number of
	connection retries from 5 to ten.

	Indentation "cleanups": somehow I was using
	`common-lisp-indent-function' for Emacs Lisp code previously.

	(slime-edit-fdefinition): Added M-. (edit definition) and M-, (pop
	definition stack) commands. Definitions are found in much the same way
	Hemlock does it. The user-interface is not the same as TAGS, because I
	like this one better. We can add TAGS-compatibility as an optional
	feature in future.

2003-09-08 15:33  lukeg

	* cmucl-wire.el:

	(wire-symbol-name, wire-symbol-package): Fixed to handle internal
	references (pkg::name).

2003-09-04 16:47  lukeg

	* ChangeLog:

	[no log message]

2003-09-04 13:41  lukeg

	* swank.lisp:

	Completion now works for internal symbols.
	i.e. 'package::foo' can be used to complete non-exported symbols.

	Some cleanups.

2003-09-04 13:40  lukeg

	* slime.el:

	Completion now works for internal symbols.
	i.e. 'package::foo' can be used to complete non-exported symbols.

2003-09-04 13:07  lukeg

	* README, cmucl-wire.el, slime.el, swank.lisp:

	Imported from slime-0.2

