[slime-cvs] CVS slime

mbaringer mbaringer at common-lisp.net
Mon Apr 16 14:24:08 UTC 2007


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv10086

Modified Files:
	slime.el 
Log Message:
(slime-compilation-finished): Don't use
MULTIPLE-VALUE-BIND for list destructuring, only because multiple
values happen to be implemented via lists in elisp!
(slime-fuzzy-completions-mode): Added an detailed explanation to
the docstring of how Fuzzy Completion works and how it'ss supposed
to be worked with.
(slime-fuzzy-explanation): Shortened to reference to
SLIME-FUZZY-COMPLETIONS-MODE for help on fuzzy completion.
(slime-fuzzy-choices-buffer): Set BUFFER-QUIT-FUNCTION to
SLIME-FUZZY-ABORT to make it correctly exit fuzzy completion when
pressing `Esc Esc Esc' (`M-Esc Esc').


--- /project/slime/cvsroot/slime/slime.el	2007/04/08 22:56:00	1.780
+++ /project/slime/cvsroot/slime/slime.el	2007/04/16 14:24:07	1.781
@@ -4755,7 +4755,7 @@
   (let ((notes (slime-compiler-notes)))
     (with-current-buffer buffer
       (setf slime-compilation-just-finished t)
-      (multiple-value-bind (result secs) result
+      (destructuring-bind (result secs) result
         (slime-show-note-counts notes secs)
         (when slime-highlight-compiler-notes
           (slime-highlight-notes notes))))
@@ -4763,7 +4763,7 @@
 
 (defun slime-compilation-finished-continuation ()
   (lexical-let ((buffer (current-buffer)))
-    (lambda (result) 
+    (lambda (result)
       (slime-compilation-finished result buffer))))
 
 (defun slime-highlight-notes (notes)
@@ -6389,6 +6389,43 @@
   fundamental-mode "Fuzzy Completions"
   "Major mode for presenting fuzzy completion results.
 
+When you run `slime-fuzzy-complete-symbol', the symbol token at
+point is completed using the Fuzzy Completion algorithm; this
+means that the token is taken as a sequence of characters and all
+the various possibilities that this sequence could meaningfully
+represent are offered as selectable choices, sorted by how well
+they deem to be a match for the token. (For instance, the first
+choice of completing on \"mvb\" would be \"multiple-value-bind\".)
+
+Therefore, a new buffer (*Fuzzy Completions*) will pop up that
+contains the different completion choices. Simultaneously, a
+special minor-mode will be temporarily enabled in the original
+buffer where you initiated fuzzy completion (also called the
+``target buffer'') in order to navigate through the *Fuzzy
+Completions* buffer without leaving.
+
+With focus in *Fuzzy Completions*:
+  Type `n' and `p' (`UP', `DOWN') to navigate between completions.
+  Type `RET' or `TAB' to select the completion near point. 
+  Type `q' to abort.
+
+With focus in the target buffer:
+  Type `UP' and `DOWN' to navigate between completions.
+  Type a character that does not constitute a symbol name
+  to insert the current choice and then that character (`(', `)',
+  `SPACE', `RET'.) Use `TAB' to simply insert the current choice.
+  Use C-g to abort.
+
+Alternatively, you can click <mouse-2> on a completion to select it.
+
+
+Complete listing of keybindings within the target buffer:
+
+\\<slime-target-buffer-fuzzy-completions-map>\
+\\{slime-target-buffer-fuzzy-completions-map}
+
+Complete listing of keybindings with *Fuzzy Completions*:
+
 \\<slime-fuzzy-completions-map>\
 \\{slime-fuzzy-completions-map}"
   (use-local-map slime-fuzzy-completions-map))
@@ -6495,9 +6532,8 @@
   (get-buffer-create "*Fuzzy Completions*"))
 
 (defvar slime-fuzzy-explanation
-  "Click <mouse-2> on a completion to select it.
-In this buffer, type n and p to navigate between completions.
-Type RET to select the completion near point.  Type q to abort.
+  "For help on how the use this buffer, see `slime-fuzzy-completions-mode'.
+
 Flags: boundp fboundp generic-function class macro special-operator package
 \n"
   "The explanation that gets inserted at the beginning of the
@@ -6574,7 +6610,8 @@
     (slime-fuzzy-fill-completions-buffer completions interrupted-p)
     (pop-to-buffer (slime-get-fuzzy-buffer))
     (when new-completion-buffer
-      (add-local-hook 'kill-buffer-hook 'slime-fuzzy-abort))
+      (add-local-hook 'kill-buffer-hook 'slime-fuzzy-abort)
+      (setq buffer-quit-function 'slime-fuzzy-abort)) ; M-Esc Esc
     (when slime-fuzzy-completion-in-place
       ;; switch back to the original buffer
       (switch-to-buffer-other-window slime-fuzzy-target-buffer))))




More information about the slime-cvs mailing list