[slim-vim] vim+ecl compiled on Windows+Cygwin

Jim Bailey dgym.bailey at gmail.com
Mon Apr 3 03:07:31 CDT 2006


Hi Larry,

Yup, a NULL pointer is just as good as Cnil in my view, and if it works
on more platforms then its a worthy change.

Jim




On Sun, 2 Apr 2006 17:47:56 -0400
Larry Clapp <larry at theclapp.org> wrote:

> Hello, all,
> 
> I got Vim+ECL to compile under Cygwin, almost unchanged.  I had to
> make the following patch:
> 
> --- if_ecl.c.bak        2006-04-01 10:46:03.344241600 -0500
> +++ if_ecl.c    2006-04-01 10:54:38.274675200 -0500
> @@ -445,9 +445,10 @@
>  cl_object safe_eval_form(cl_object form, int from_ex)
>  {
>      /* uses vim::safe-eval to trap errors */
> -    static cl_object safe_eval = Cnil;
> +    static cl_object safe_eval = 0;
>  
> -    if (safe_eval == Cnil)
> +    if (safe_eval == 0)
>      {
>          /* get the safe eval and quote symbols */
>          safe_eval = intern_vim("SAFE-EVAL");
> 
> Without this change, I got errors from gcc "initializer element is not
> constant".  Cnil is a #define for ((cl_object)cl_symbols), which is
> maybe in the dll or something?
> 
> Jim, can you comment on this wisdom of making this change to the base
> system?  It seems pretty benign; cl_object is just a pointer to a
> cl_lispunion struct, so assigning zero to it and then comparing it to
> zero seems just as safe as using Cnil.
> 
> (I didn't try much beyond (print "ok"), so Vim+ECL/Cygwin may have
> other runtime problems.)
> 
> -- Larry
> 
> _______________________________________________
> slim-vim mailing list
> slim-vim at lispniks.com
> http://www.lispniks.com/mailman/listinfo/slim-vim


More information about the slim-vim mailing list