i've started doing small fixes to slime like this. what is the protocol to ask for commit rights? is it enough to promise that i'll not commit anything big without prior discussion and that i'll add proper ChangeLog entries as everyone else?
to shamelessly advertise myself, i've optimized the fuzzy completion by using vectors and now it's nearly twice as fast... :)
the patch is attached:
2006-10-20 Attila Lendvai < attila.lendvai@gmail.com>
* slime.el (slime-fuzzy-completion-limit): New variable. (slime-fuzzy-completion-time-limit-in-msec): New variable. (slime-fuzzy-next): Fix when at the end of the buffer.
* swank.lisp (prin1-to-string-for-emacs): Fix vector printing to use the elisp [] syntax. (fuzzy-completions and friends): Added :limit and :time-limit-in-msec keyword params. Used vectors instead of lists to double its speed (at least on sbcl). Added some declare optimize and type annotations.
CL-USER> (time (progn (swank:fuzzy-completions "" "SB-PCL") (values)))
Evaluation took: 1.398 seconds of real time 1.308801 seconds of user run time 0.006999 seconds of system run time 0 calls to %EVAL 0 page faults and 3,192,528 bytes consed. ; No value
after:
CL-USER> (time (progn (swank:fuzzy-completions "" "SB-PCL") (values)))
Evaluation took: 0.782 seconds of real time 0.676897 seconds of user run time 0.002 seconds of system run time 0 calls to %EVAL 0 page faults and 3,203,648 bytes consed. ; No value