[slime-devel] Daily ChangeLog diff

Marco Baringer mbaringer at common-lisp.net
Fri Aug 24 04:35:02 UTC 2007


Index: slime/ChangeLog
diff -u slime/ChangeLog:1.1145 slime/ChangeLog:1.1153
--- slime/ChangeLog:1.1145	Wed Aug 22 17:41:00 2007
+++ slime/ChangeLog	Thu Aug 23 18:50:57 2007
@@ -1,9 +1,179 @@
+2007-08-23  Matthias Koeppe  <mkoeppe at mail.math.uni-magdeburg.de>
+
+	Repair inspection of presentations.
+	
+	* swank.lisp (inspect-presentation): New slimefun.
+	* slime.el (slime-inspect-presentation-at-mouse): Use it here.
+
+2007-08-23  Helmut Eller  <heller at common-lisp.net>
+
+	Move Marco Baringer's inspector to contrib.
+	
+	* swank.lisp (*default-inspector*): New variable. Set this
+	variable dispatch to different inspectors.
+	(inspect-object): Use it.
+
+	* swank-loader.lisp (*contribs*): Add 'swank-fancy-inspector.
+
+	* swank-backend.lisp (backend-inspector): New class.  Introduce a
+	named class to give as another way to dispatch to backend methods.
+
+	* swank-cmucl.lisp: Use backend-inspector class.
+	* swank-sbcl.lisp: Use backend-inspector class.
+	* swank-clisp.lisp: Use backend-inspector class.
+	* swank-lispworks.lisp: Use backend-inspector class.
+	* swank-allegro.lisp: Use backend-inspector class.
+	* swank-openmcl.lisp: Use backend-inspector class.
+	* swank-abcl.lisp: Use backend-inspector class.
+	* swank-corman.lisp: Use backend-inspector class.
+	* swank-scl.lisp: Use backend-inspector class.
+
+2007-08-23  Tobias C. Rittweiler <tcr at freebits.de>
+
+	Added arglist display for declaration specifiers and type
+	specifiers.
+
+	Examples:
+
+	`(declare (type' will display
+
+	   (declare (type type-specifier &rest vars))
+
+	`(declare (type (float' will display
+
+	   [Typespec] (float &optional lower-limit upper-limit)
+
+	`(declare (optimize' will display
+
+	   (declare (optimize &any (safety 1) (space 1) (speed 1) ...))
+
+	&ANY is a new lambda keyword that is introduced for arglist
+	description purpose, and is very similiar to &KEY, but isn't based
+	upon plists; they're more based upon *FEATURES* lists. (See the
+	comment near the ARGLIST defstruct in `swank.lisp'.)
+
+	* slime.el:
+	(slime-to-feature-keyword): Renamed to `slime-keywordify'.
+	(slime-eval-feature-conditional): Adapted to use `slime-keywordify'.
+	(slime-ensure-list): New utility.
+	(slime-sexp-at-point): Now takes an argument that specify how many
+	sexps at point should be returned.
+	(slime-enclosing-operator-names): Renamed to
+	`slime-enclosing-form-specs'.
+	(slime-enclosing-form-specs): Returns a list of ``raw form specs''
+	instead of what was called ``extended operator names'' before, see
+	`swank::parse-form-spec' for more information. This is a
+	simplified superset. Additionally as tertiary return value return
+	a list of points to let the caller see where each form spec is
+	located. Adapted callers accordingly. Extended docstring.
+	(slime-parse-extended-operator-name): Adapted to changes in
+	`slime-enclosing-form-specs'. Now gets more context, and is such
+	more powerful. This was needed to allow parsing DECLARE forms.
+	(slime-make-extended-operator-parser/look-ahead): Because the
+	protocol for arglist display was simplified, it was possible to
+	replace the plethora of parsing function just by this one.
+	(slime-extended-operator-name-parser-alist): Use it. Also add
+	parser for DECLARE forms.
+	(slime-parse-extended-operator/declare): Responsible for parsing
+	DECLARE forms.
+	(%slime-in-mid-of-typespec-p): Helper function for
+	`slime-parse-extended-operator/declare'.
+	(slime-incomplete-form-at-point): New. Return the ``raw form
+	spec'' near point.
+	(slime-complete-form): Use `slime-incomplete-form-at-point'.
+
+	* swank.lisp: New Helper functions.
+	(length=, ensure-list, recursively-empty-p): New.
+	(maybecall, exactly-one-p): New.
+
+	* swank.lisp (arglist-for-echo-area): Adapted to take ``raw form
+	specs'' from Slime.
+	(parse-form-spec): New. Takes a ``raw form spec'' and returns a
+	``form spec'' for further processing in Swank. Docstring documents
+	these two terms.
+	(split-form-spec): New. Return relevant information from a form	spec.
+	(parse-first-valid-form-spec): Replaces `find-valid-operator-name'.
+	(find-valid-operator-name): Removed.
+	(operator-designator-to-form): Removed. Obsoleted by `parse-form-spec'.
+
+	(defstruct arglist): Add `any-p' and `any-args' slots to contain
+	arguments belonging to the &ANY lambda keyword.
+	(print-arglist): Adapted to also print &ANY args.
+	(print-decoded-arglist-as-template): Likewise.
+	(decode-arglist): Adapted to also decode &ANY args.
+	(remove-actual-args): Adapted to also remove &ANY args.
+	(remove-&key-args): Split out from `remove-actual-args'.
+	(remove-&any-args): New. Removes already provided &ANY args.
+	(arglist-from-form-spec): New. Added detailed docstring.
+	(arglist-dispatch): Dispatching generic function for
+	`arglist-from-form-spec' that does all the work. Renamed from
+	prior `form-completion'.
+	(arglist-dispatch) Added methods for dealing with declaration and
+	type-specifiers.
+	(complete-form): Adapted to take ``raw form specs'' from Slime.
+	(completions-for-keyword): Likewise.
+	(format-arglist-for-echo-area): Removed. Not needed anymore.
+
+	* swank-backend.lisp (declaration-arglist): New generic
+	function. Returns the arglist for a given declaration
+	identifier. (Backends are supposed to specialize it if they can
+	provide additional information.)
+	(type-specifier-arglist): New generic function. Returns the
+	arglist for a given type-specifier operator. (Backends are
+	supposed to specialize it if they can provide additional
+	information.)
+	(*type-specifier-arglists*): New variable. Contains the arglists
+	for the type specifiers in Common Lisp.
+
+	* swank-sbcl.lisp: Now depends upon sb-cltl2.
+	(declaration-arglist 'optimize): Specialize the `optimize'
+	declaration identifier to pass it to
+	sb-cltl2:declaration-information.
+	
+	
+2007-08-23  Helmut Eller  <heller at common-lisp.net>
+
+	Some inspector cleanups.
+
+	* slime.el (slime-inspect): Remove dwim stuff and drop keyword
+	args.
+	(slime-read-object): Killed.
+	(slime-open-inspector): Drop keyword args.  Update callers
+	accodordingly, expect presentation related code. Presentations no
+	longer work in the inspector.
+
+	* swank.lisp (*inspector-dwim-lookup-hooks*)
+	(default-dwim-inspector-lookup-hook): Deleted.
+	(init-inspector): Sanitize arglist.
+	(inspect-object): Don't return an :id for *inspectee-parts*.
+
+	* swank-backend (type-for-emacs): Removed. No backend implemented
+	it.
+
+2007-08-23  Helmut Eller  <heller at common-lisp.net>
+
+	* slime.el (slime-fuzzy-upgrade-notice): New function.  Bound to
+	the key where slime-fuzzy-complete-symbol used to be.
+
 2007-08-22  Tobias C. Rittweiler <tcr at freebits.de>
 
 	* slime.el (slime-close-all-parens-in-sexp): Fix interplay with
 	`slime-close-parens-limit'. This should also affect
 	`slime-complete-form' (C-c C-s) in a positive way.
 
+2007-08-19  Helmut Eller  <heller at common-lisp.net>
+
+	* contrib: New directory.  Move fuzzy completion code to that
+	directory.
+
+	* swank.lisp (swank-require): New function to load contrib code.
+	(*find-module*, module-filename, *load-path*, merged-directory)
+	(find-module, module-canditates): New. Pathname acrobatics for
+	swank-require.
+
+	* swank-loader.lisp: Compile (but don't load) contribs.
+	(*contribs*, contrib-source-files): New.
+
 2007-08-16  Tobias C. Rittweiler <tcr at freebits.de>
 
 	* slime.el (slime-process-available-input): Correct yesterday's
@@ -15,7 +185,7 @@
 	 to send a `:debug-return' message before the acknowledgement
 	 message for `sldb-quit' is sent. So the acknowledgement is
 	 received in a context where the sldb-buffer is closed already.
-	
+
 2007-08-15  Tobias C. Rittweiler <tcr at freebits.de>
 
 	* slime.el (slime-process-available-input): Make sure that the
@@ -24,7 +194,7 @@
 	Previously, the clauses of `slime-rex' were processed in the
 	internal *cl-connection* buffer. And as a result the continuations
 	passed to `slime-eval' and `slime-eval-async' ditto.
-	
+
 2007-08-15  Tobias C. Rittweiler <tcr at freebits.de>
 
 	Make `M-.' work on definitions outside the current restriction.



More information about the slime-devel mailing list