Commit 2e51dbe9 authored by Helmut Eller's avatar Helmut Eller

Merge contrib branch.

parent ddc2c4f5
......@@ -4,6 +4,19 @@
`slime-close-parens-limit'. This should also affect
`slime-complete-form' (C-c C-s) in a positive way.
2007-08-19 Helmut Eller <>
* contrib: New directory. Move fuzzy completion code to that
* 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-loader.lisp: Compile (but don't load) contribs.
(*contribs*, contrib-source-files): New.
2007-08-16 Tobias C. Rittweiler <>
* slime.el (slime-process-available-input): Correct yesterday's
......@@ -15,7 +28,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 <>
* slime.el (slime-process-available-input): Make sure that the
......@@ -24,7 +37,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 <>
Make `M-.' work on definitions outside the current restriction.
2007-08-19 Helmut Eller <>
Moved fuzzy completion code to contrib directory.
* slime-fuzzy.el: New file.
(slime-fuzzy-init): New function. Load CL code on startup.
* swank-fuzzy.lisp: New file. Common Lisp code for fuzzy
This directory contains source code which may be useful to some Slime
users. *.el files are Emacs Lisp source and *.lisp files contain
Common Lisp source code. If not otherwise stated in the file itself,
the files are placed in the Public Domain.
The components in this directory are more or less detached from the
rest of Slime. They are essentially "add-ons". But Slime can also be
used without them. The code is maintained by the respective authors.
To use the packages here, you should add this directory to your Emacs
load-path. E.g. for fuzzy completion add this to your .emacs:
(add-to-list 'load-path "<this-directory>")
(add-hook 'slime-load-hook (lambda () (require 'slime-fuzzy)))
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -140,7 +140,7 @@ Return nil if nothing appropriate is available."
(ignore-errors (delete-file binary-pathname)))
(defun compile-files-if-needed-serially (files fasl-directory)
(defun compile-files-if-needed-serially (files fasl-directory load)
"Compile each file in FILES if the source is newer than
its corresponding binary, or the file preceding it was
......@@ -160,7 +160,8 @@ recompiled."
(compile-file source-pathname :output-file binary-pathname
:print nil
:verbose t))
(load binary-pathname :verbose t))
(when load
(load binary-pathname :verbose t)))
;; Fail as early as possible
(serious-condition (c)
(handle-loadtime-error c binary-pathname)))))))
......@@ -184,20 +185,39 @@ recompiled."
:defaults directory)
:if-does-not-exist nil))
(defun swank-source-files (source-directory)
(defun source-files (names src-dir)
(mapcar (lambda (name)
(make-pathname :name name :type "lisp"
:defaults source-directory))
`("swank-backend" ,@*sysdep-files* "swank")))
(make-pathname :name (string-downcase name) :type "lisp"
:defaults src-dir))
(defun swank-source-files (src-dir)
(source-files `("swank-backend" ,@*sysdep-files* "swank")
(defvar *fasl-directory* (default-fasl-directory)
"The directory where fasl files should be placed.")
(defvar *contribs* '(swank-fuzzy)
"List of names for contrib modules.")
(defun append-dir (absolute name)
(make-pathname :directory `(:relative ,name) :defaults absolute)
(defun contrib-source-files (src-dir)
(source-files *contribs* (append-dir src-dir "contrib")))
(defun load-swank (&key
(source-directory *source-directory*)
(fasl-directory *fasl-directory*))
(fasl-directory *fasl-directory*)
(append-dir fasl-directory "contrib")))
(compile-files-if-needed-serially (swank-source-files source-directory)
fasl-directory t)
(compile-files-if-needed-serially (contrib-source-files source-directory)
contrib-fasl-directory nil)
(set (read-from-string "swank::*swank-wire-protocol-version*")
(funcall (intern (string :warn-unimplemented-interfaces) :swank-backend))
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment