[slime-devel] Re: [slime-cvs] CVS slime

Marco Baringer mb at bese.it
Tue Feb 5 13:03:27 UTC 2008


Helmut Eller <heller at common-lisp.net> writes:

> * mbaringer [2008-02-05 13:06+0100] writes:
>
>>      (save-excursion
>>        (when (or (re-search-backward regexp nil t)
>>                  (re-search-forward regexp nil t))
>> -        (match-string-no-properties 2)))))
>> +        ;; package name can be a string designator, convert it to a string.
>> +        (slime-eval `(cl:string (cl:second (cl:read-from-string ,(match-string-no-properties 0))))
>> +                    "COMMON-LISP-USER")))))
>
> This is bad style for several reasons:

for reasons 1, 4 and5 i've already dropped it (though the other reason
are pretty good too...)

> 1. slime-eval should only be used in situations where it's impossible
>    to use slime-eval-async e.g. for completion because the control
>    structure is fixed by Emacs built-ins.
>
> 2. the argument to slime-eval should look like 
>    (swank:function arg1 arg2 ..) where each argument is a literal and
>    not a to-be-evaluated form
>
> 3. it uses more than 80 columns
>
> 4. it makes a frequently used function much slower 
>
> 5. it doesn't handle read-errors
>
> 6. it interns random symbols
>
> 7. it does useless work, because the result of
>    slime-search-buffer-package will be used either with guess-package
>    or slime-pretty-package-name.

well, being able to handle (in-package #+foo foo #+bar other-foo) was
nice but not worth it.

-- 
-Marco
Ring the bells that still can ring.
Forget your perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen




More information about the slime-devel mailing list