[slime-devel] #'completion-output-symbol-converter
Madhu
enometh at meer.net
Sun Dec 10 10:44:38 UTC 2006
When (read-table-case *READTABLE*) is :upcase completing M-V-B<TAB>
fails. Similarly :downcase. This is (I believe) because of a change
introduced in
|2006-10-26 Attila Lendvai <attila.lendvai at gmail.com>
| (completion-output-symbol-converter): New to handle escaped
| symbols for those who need to mess around with symbols like
| layered-function-definers::|CONTEXTL::SLOT-VALUE-USING-LAYER|.
| When a symbol is escaped then completion is case sensitive.
The following patch fixes it [the heuristic] to work as before.
--- swank.lisp.~1.422~ 2006-12-10 14:51:16.000000000 +0530
+++ swank.lisp 2006-12-10 16:05:14.000000000 +0530
@@ -3242,7 +3242,7 @@
INPUT is used to guess the preferred case."
(ecase (readtable-case *readtable*)
(:upcase (cond ((or with-escaping-p
- (every #'upper-case-p input))
+ (not (some #'lower-case-p input)))
#'identity)
(t #'string-downcase)))
(:invert (lambda (output)
@@ -3252,7 +3252,7 @@
(upper (string-downcase output))
(t output)))))
(:downcase (cond ((or with-escaping-p
- (every #'lower-case-p input))
+ (not (some #'upper-case-p input)))
#'identity)
(t #'string-upcase)))
(:preserve #'identity)))
More information about the slime-devel
mailing list