[slime-cvs] CVS slime/contrib
CVS User trittweiler
trittweiler at common-lisp.net
Mon Dec 21 16:23:02 UTC 2009
Update of /project/slime/cvsroot/slime/contrib
In directory cl-net:/tmp/cvs-serv26771/contrib
Modified Files:
ChangeLog swank-arglists.lisp
Log Message:
* swank-arglists.lisp (completions-for-keyword): Return nil
instead of :not-available because the function is supposed to
return a list of available completions.
Adapted from patch by Ariel Badichi.
--- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/12/21 16:03:41 1.313
+++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/12/21 16:23:02 1.314
@@ -1,5 +1,13 @@
2009-12-21 Tobias C. Rittweiler <tcr at freebits.de>
+ * swank-arglists.lisp (completions-for-keyword): Return nil
+ instead of :not-available because the function is supposed to
+ return a list of available completions.
+
+ Adapted from patch by Ariel Badichi.
+
+2009-12-21 Tobias C. Rittweiler <tcr at freebits.de>
+
Today's cleanup day.
* slime-parse.el (slime-incomplete-form-at-point)
--- /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2009/12/21 16:03:41 1.48
+++ /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2009/12/21 16:23:02 1.49
@@ -1151,27 +1151,28 @@
"Return a list of possible completions for KEYWORD-STRING relative
to the context provided by RAW-FORM."
(with-buffer-syntax ()
- (with-available-arglist (arglist)
- (find-immediately-containing-arglist (parse-raw-form raw-form))
- ;; It would be possible to complete keywords only if we are in
- ;; a keyword position, but it is not clear if we want that.
- (let* ((keywords
- (append (mapcar #'keyword-arg.keyword
- (arglist.keyword-args arglist))
- (remove-if-not #'keywordp (arglist.any-args arglist))))
- (keyword-name
- (tokenize-symbol keyword-string))
- (matching-keywords
- (find-matching-symbols-in-list
- keyword-name keywords (make-compound-prefix-matcher #\-)))
- (converter (completion-output-symbol-converter keyword-string))
- (strings
- (mapcar converter
- (mapcar #'symbol-name matching-keywords)))
- (completion-set
- (format-completion-set strings nil "")))
- (list completion-set
- (longest-compound-prefix completion-set))))))
+ (let ((arglist (find-immediately-containing-arglist
+ (parse-raw-form raw-form))))
+ (when (arglist-available-p arglist)
+ ;; It would be possible to complete keywords only if we are in
+ ;; a keyword position, but it is not clear if we want that.
+ (let* ((keywords
+ (append (mapcar #'keyword-arg.keyword
+ (arglist.keyword-args arglist))
+ (remove-if-not #'keywordp (arglist.any-args arglist))))
+ (keyword-name
+ (tokenize-symbol keyword-string))
+ (matching-keywords
+ (find-matching-symbols-in-list
+ keyword-name keywords (make-compound-prefix-matcher #\-)))
+ (converter (completion-output-symbol-converter keyword-string))
+ (strings
+ (mapcar converter
+ (mapcar #'symbol-name matching-keywords)))
+ (completion-set
+ (format-completion-set strings nil "")))
+ (list completion-set
+ (longest-compound-prefix completion-set)))))))
(defparameter +cursor-marker+ '%cursor-marker%)
More information about the slime-cvs
mailing list