[slime-devel] Daily ChangeLog diff

Luke Gorrie lgorrie at common-lisp.net
Sun Feb 20 23:00:28 UTC 2005


Index: slime/ChangeLog
diff -u slime/ChangeLog:1.611 slime/ChangeLog:1.612
--- slime/ChangeLog:1.611	Fri Feb 18 17:08:07 2005
+++ slime/ChangeLog	Sun Feb 20 21:29:56 2005
@@ -1,3 +1,49 @@
+2005-02-20  Matthias Koeppe  <mkoeppe at mail.math.uni-magdeburg.de>
+
+	Supersede the command slime-insert-arglist with the new command
+	slime-complete-form and bind it to C-c C-s.  The command completes
+	an incomplete form with a template for the missing arguments.
+	There is special code for discovering extra keywords of generic
+	functions and for handling make-instance. Examples:
+
+	  (subseq "abc" <C-c C-s>
+	    --inserts--> start [end])
+	  (find 17 <C-c C-s>
+	    --inserts--> sequence :from-end from-end :test test
+	                 :test-not test-not :start start :end end :key key)
+	  (find 17 '(17 18 19) :test #'= <C-c C-s>
+	    --inserts--> :from-end from-end
+	                 :test-not test-not :start start :end end :key key)
+	  (defclass foo () ((bar :initarg :bar)))
+	  (defmethod initialize-instance :after ((object foo) &key blub))
+	  (make-instance 'foo <C-c C-s>
+	    --inserts--> :bar bar :blub blub initargs...)
+	
+	* 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.
+	
+	* swank.lisp (extra-keywords): New generic function.
+	
+	* swank-backend.lisp (:swank-mop package):
+	Export compute-applicable-methods-using-classes.
+	
+	* swank.lisp (arglist-for-insertion): Use extra-keywords to
+	enrich the list of keywords.
+	
+	* swank.lisp (valid-operator-symbol-p): New function.
+	(valid-operator-name-p): Use valid-operator-symbol-p.
+	
+	* 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-18  Antonio Menezes Leitao  <aml at gia.ist.utl.pt>
 
 	Improve the trace mechanism (on lisps that support it). SLIME is
@@ -122,7 +168,7 @@
 	make return values inspectable in the debugger.
 	(signal-breakpoint): Initialize the new slot.
 
-2005-01-19  Matthias Koeppe <mkoeppe+slime at merkur.math.uni-magdeburg.de>
+2005-01-19  Matthias Koeppe <mkoeppe at merkur.math.uni-magdeburg.de>
 
 	* slime.el (slime-insert-arglist): Inserts a template for a
 	function call instead of the plain arglist; this makes a
@@ -205,7 +251,7 @@
 	* slime.el (slime-conservative-indentation): The default is now
 	nil.  Suggested by Travis Cross.
 
-2005-01-10  Matthias Koeppe <mkoeppe+slime at merkur.math.uni-magdeburg.de>
+2005-01-10  Matthias Koeppe <mkoeppe at merkur.math.uni-magdeburg.de>
 
 	* slime.el (slime-inspector-next-inspectable-object): Accept a
 	prefix argument and make wrapping around more reliable.  The code
@@ -224,7 +270,7 @@
 	comint-completion-addsuffix so unambiguous or exact completion
 	closes the string automatically.
 
-2004-12-16  Matthias Koeppe <mkoeppe+slime at merkur.math.uni-magdeburg.de>
+2004-12-16  Matthias Koeppe <mkoeppe at merkur.math.uni-magdeburg.de>
 
 	* slime.el (slime-keys): Bind M-* to
 	slime-pop-find-definition-stack for compatibility with standard
@@ -243,7 +289,7 @@
 	* swank.lisp (frame-for-emacs): Print the frame number a little
 	nicer with ~2D.
 
-2004-12-15  Matthias Koeppe  <mkoeppe+slime at merkur.math.uni-magdeburg.de>
+2004-12-15  Matthias Koeppe  <mkoeppe at merkur.math.uni-magdeburg.de>
 
 	* slime.el (slime-lisp-modes): New variable to make C-c C-k
 	customizable and usable in scheme-mode.
@@ -1375,207 +1421,7 @@
 	slime-background-message. This displays multi-line arglists.
 	(sldb-mode-map): Bind 'C' to sldb-inspect-condition.
 
-2004-08-14  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* slime.el (slime-find-buffer-package): Use "%s", not "%S", to
-	avoid ugly escape characters, if the package name contains dots.
-
-2004-08-13  Luke Gorrie  <luke at bluetail.com>
-
-	* 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.
-
-	* 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  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* 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--" marker.  Reported
-	by Sundar Narasimhan.
-
-	* swank.lisp (variable-desc-for-echo-area): Bind some printer
-	variables to limit the length of the output.
-
-2004-08-05  Luke Gorrie  <luke at bluetail.com>
-
-	* slime.el (slime-setup): Added typeout-frame keyword argument.
-	(slime-thread-attach): Fixed misnamed function call.
-
-2004-08-04  Luke Gorrie  <luke at bluetail.com>
-
-	* 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. From Matthew Danish.
-	(find-fspec-location): Include the type of the definition in the
-	designator sent to Emacs. From Matthew Danish.
-
-2004-08-04  Martin Simmons <martin at xanalys.com>
-
-	* swank-lispworks.lisp (frame-actual-args): Correct syntax for
-	handler-case.
-
-2004-08-04  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* slime.el: (slime-mode-map, slime-repl-mode-map)
-	(slime-repl-read-mode-map): Remove the binding 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-02  Luke Gorrie  <luke at bluetail.com>
-
-	* 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.
-
-	* 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.
-
-	* swank-allegro.lisp: Removed fwrapper-based code for inheriting
-	"swankiness" to newly spawned threads. This was fighting the
-	system and not the right thing.
-
-	* 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.
-	(slime-current-package): Deal with narrowing.
-
-2004-08-01  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* 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 the constants pools of named functions.
-
-	* swank-lispworks.lisp: Minor refactoring.
-
-2004-07-30  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* 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.
-
-	* swank-cmucl.lisp (call-with-debugging-environment): Only handle
-	DI::UNHANDLED-CONDITION not all DI:DEBUG-CONDITIONs.
-
-	* swank-backend.lisp (sldb-condition): Show the original condition
-	in the message.
-
-2004-07-28  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* 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.
-	(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.
-
-	* swank-sbcl.lisp (list-callers, list-callees): Implemented.
-
-2004-07-26  Luke Gorrie  <luke at bluetail.com>
-
-	* 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.
-
-	* README: s/setup-slime/slime-setup/ in the .emacs snippet.
-
-2004-07-23  Luke Gorrie  <luke at bluetail.com>
-
-	* 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  Luke Gorrie  <luke at bluetail.com>
-
-	* 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.
-
-	* 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  Luke Gorrie  <luke at bluetail.com>
-
-	* 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  Luke Gorrie  <luke at bluetail.com>
-
-	* 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  Andreas Fuchs  <asf at boinkor.net>
-
-	* swank-sbcl.lisp (call-with-compilation-hooks): Trap and report
-	errors that cause compilation to fail, e.g. read errors.
-
-2004-07-19  Luke Gorrie  <luke at bluetail.com>
-
-	* HACKING: Updated. Some notes about Emacs features.
-
-	* slime.el: More major refactoring.
-	Restructured and documented the networking and protocol code.
-	(slime-rex-continuations): Now connection-local.
-
-2004-07-18  Luke Gorrie  <luke at bluetail.com>
-
-	* slime.el: Major refactoring.
-	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,
+2004-08-14  Helmut Eller  <e
 	and if the package is unspecified then (slime-buffer-package) is
 	used.
 	(slime-eval): Package arg now defaults to (slime-buffer-package).
@@ -3339,109 +3185,7 @@
 	(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.
-
-	* swank.lisp (open-streams, make-output-function): Capture the
-	connection not only the socket.  This way the streams can be used
-	from unrelated threads.  Reported by Alain Picard.
-	(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.
-	(guess-package-from-string): 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.
-
-	* slime.el (slime-easy-menu): Add some more 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  Luke Gorrie  <luke at bluetail.com>
-
-	* doc/slime.texi: New user manual.
-
-	* swank.lisp (*communication-style*): New name for
-	*swank-in-background*.
-	Exported configuration variables: *communication-style*,
-	*log-events*, *use-dedicated-output-stream*.
-
-2004-03-20  Julian Stecklina <der_julian at web.de>
-
-	* swank-sbcl.lisp (+o_async+, +f_setown+, +f_setfl+): Add correct
-	constants for FreeBSD.
-
-2004-03-19  Alan Shutko  <ats at acm.org>
-
-	* swank.lisp, swank-loader.lisp: Take into account
-	`pathname-device' when deriving paths. A fix for Windows.
-
-2004-03-19  Luke Gorrie  <luke at bluetail.com>
-
-	* 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  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* 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.
-
-	* swank-backend.lisp, swank-cmucl.lisp (set-default-directory):
-	New backend function.  
-
-	* swank-allegro.lisp, swank-clisp.lisp, swank-lispworks.lisp,
-	swank-sbcl.lisp (swank-compile-string): Be friendly to
-	case-inverting readtables.
-
-	* 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  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
-
-	* 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.
-
-	* swank.lisp: Better symbol completion for case-inverting
-	readtables.  (Thanks Thomas F. Burdick for suggestions.)
-	(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.
-	(case-convert-input): Renamed from case-convert.
-	(eval-for-emacs): Renamed from eval-string.  Take a form instead
-	of a string.
-	(dispatch-event, read-from-socket-io): Update callers.
+	bette
 	(eval-region, interactive-eval): Use fresh-line to reset the column.
 
 2004-03-13  Helmut Eller  <e9626484 at stud3.tuwien.ac.at>



More information about the slime-devel mailing list