[slim-vim] Problem with :ecl in Vim-7.x

Mikael Jansson mail at mikael.jansson.be
Wed May 28 09:48:51 CDT 2008


On Wed, May 28, 2008 at 2:23 PM, Larry Clapp <larry at theclapp.org> wrote:
> On Tue, May 27, 2008 at 12:56:04PM +0200, Mikael Jansson wrote:
>> Running
>>
>>    :ecl (format t "Hello, world!~%")
>>
>> I get this:
>>
>>    <ed>
>>    !^A
>>
>> I've tried extracting the ecl-specific bits out of the
>> vim70/async/ecl tree and apply them onto Vim from CVS, so there's a
>> high chance I did something wrong.  But, before trying to apply it
>> all again, I'd like to know if this is something you've encountered
>> earlier, and if so, how you solved it?
>
> Doesn't ring a bell.  Works in my copy (last compiled circa January
> 2007):
>
>  :ecl (format t "foo~%")
>  ;;; Loading #P"/usr/share/vim/vimcurrent/if_ecl.lisp"
>  foo
>
> You need to make sure that *standard-output* is bound around any :ecl
> call.  What you bind it to is an interesting question.  For debugging
> I'd probably bind it to a global string-stream that I'd print out at
> the end of the :ecl call.  For production, ideally you'd like a Grey
> stream that prints to the vim output area.
>
Wouldn't printing the string out require *standard-output*?

This is the results I got from the various ways of printing things out.

:ecl (princ "foo")
<99>^A
:ecl (format t "foo")
<99>^A
:ecl (msg "foo") ; MSG defined in if_ecl.c
^U^A

> Have you compiled the version of vim70+async+ecl from theclapp.org and
> verified that it works?  That seems like a good debugging step.
>
Yup, exactly the same results there.  However, I did have to change
make_cons() into CONS() as make_cons() was #if 0'd out in both ECL
0.9j and 0.9i.

-- 
Mikael Jansson
http://mikael.jansson.be


More information about the slim-vim mailing list