[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