vile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vile] cannot compile 9.8s -- sh-filt.c


From: Thomas Dickey
Subject: Re: [vile] cannot compile 9.8s -- sh-filt.c
Date: Fri, 17 Mar 2017 04:33:06 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Mar 16, 2017 at 07:39:36PM -0400, address@hidden wrote:
> Thomas Dickey writes:
> 
> >On Thu, Mar 16, 2017 at 05:19:28PM -0400, address@hidden wrote:
> >> Thomas Dickey writes:
> >> >On Thu, Mar 16, 2017 at 12:30:19PM -0400, address@hidden
> >> >wrote:
> >> >>
> >> >> I'm trying to compile vile 9.8s, but I'm getting stuck here:
> >> >>
> >> >> echo "#include <flt_defs.h>" > sh-filt.c
> >> >> flex -t sh-filt.l >> sh-filt.c
> >> >> /usr/bin/m4:stdin:2872: ERROR: end of file in string
> >> >> makefile:248: recipe for target 'sh-filt.o' failed
> >> >> make[1]: *** [sh-filt.o] Error 1
> >> >> make[1]: Leaving directory '/home/hymie/vile-9.8s/filters'
> >> >
> >> >That's a bug in "new" flex (reported earlier this year against 2.6.1),
> >> >which sees "[[" in a comment and gets confused:
> >> >
> >> >#define LEN_KSH_TEST_DOWN 2       /* "[[" */
> >> >#define LEN_BACKTIC1_DOWN 2       /* "$(" */
> >> >#define LEN_BACKTIC2_DOWN 3       /* "$((" */
> >> >#define LEN_BRACEGRP_DOWN 3       /* "$("{space} */
> >> 
> >> I adjusted the offending line
> >> 
> >> #define LEN_KSH_TEST_DOWN 2
> >> 
> >> but I still get the same error
> >> 
> >> cd filters && make prefix=3D/usr/local DESTDIR=3D all
> >> make[1]: Entering directory '/home/hymie/vile-9.8s/filters'
> >> echo "#include <flt_defs.h>" > sh-filt.c
> >> flex -t sh-filt.l >> sh-filt.c
> >> /usr/bin/m4:stdin:2872: ERROR: end of file in string
> >> makefile:248: recipe for target 'sh-filt.o' failed
> >> make[1]: *** [sh-filt.o] Error 1
> >> make[1]: Leaving directory '/home/hymie/vile-9.8s/filters'
> >> 
> >> I also found this
> >> 
> >> C_INT16         0x[[[:xdigit:]]+
> >> 
> >> which appears to have an extra [
> >
> >agreed (odd that neither old/new flex nor lex mentioned this).
> >
> >But following that direction ("new" flex is relying on m4 to do some
> >parsing...), there's another pitfall for its m4-related bug on line 201:
> >
> >    FLEX_PRINTF((stderr, "cannot pop '[[' level %d\n", stk_level));
> 
> Yay!  I replaced it with this:
> 
>      FLEX_PRINTF((stderr, "cannot pop '\[\[' level %d\n", stk_level));
> 
> and it worked.
> 
> (I don't know what, if anything, I broke; but it looks like it's just

perhaps some compiler will warn about this

> a message, and I'm not even sure I use whatever this is.  But vile
> compiled.  Yay!)
> 
> Thank you for the quick turn-around.

no problem (report bugs)

-- 
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]