[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vile] Two fixes for vile-9.8l
From: |
Thomas Dickey |
Subject: |
Re: [vile] Two fixes for vile-9.8l |
Date: |
Thu, 27 Mar 2014 20:10:35 -0400 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Thu, Mar 27, 2014 at 04:59:19PM -0700, Kevin Buettner wrote:
> Hi Tom,
>
> The patch below addresses two problems.
>
> The first is that I'm seeing a build error when compiling ada-filt.c
> (which is generated from ada-filt.l). This is the error:
>
> flex -t ../../vile-9.8l.hacked/filters/ada-filt.l >> ada-filt.c
> gcc -c -I. -I.. -I../../vile-9.8l.hacked/filters -I../../vile-9.8l.hacked
> -DHAVE_CONFIG_H -D_GNU_SOURCE -D_REENTRANT -I/usr/local/include
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE
> -DOSMINORVERSION=13 -DNARROWPROTO=1 -DFUNCPROTO=15 -DOSMAJORVERSION=3 -g -O2
> -fno-strict-aliasing -pipe -fstack-protector ada-filt.c
> <stdout>:532:11: error: conflicting types for 'yyget_leng'
> In file included from ../../vile-9.8l.hacked/filters/ada-filt.l:12:0:
> ../../vile-9.8l.hacked/filters/filters.h:238:12: note: previous declaration
> of yyget_leng' was here
> extern int yyget_leng (void);
> ^
> <stdout>:1650:11: error: conflicting types for 'yyget_leng'
> In file included from ../../vile-9.8l.hacked/filters/ada-filt.l:12:0:
> ../../vile-9.8l.hacked/filters/filters.h:238:12: note: previous declaration
> of yyget_leng' was here
> extern int yyget_leng (void);
>
> I see this error on both Fedora 19 and 20. I don't recall if it was
> a problem in earlier versions.
hmm - I did make changes in 9.8l to allow building with "new" flex
(which I assume you're using). What's "rpm -qi flex" say?
I can probably fix this -
> I "fixed" the problem by disabling the declaration causing the problem.
> I'm sure there's a better fix, though I don't know what it is.
>
> The second problem is in x11.c. I found that I would sometimes have
> trouble pasting text into xvile, especially when that text came from
> another xvile session built from the same sources. I've seen this
> problem ever since vile-9.8j, but I did most of my work on another
> machine (upon which I was running an older version of xvile) and it
> wasn't critical that I fix it until now.
>
> The problem turned out to be that all atoms obtained from GetAtom()
> had the same value. This was due to a bunch of missing break
> statments within the switch in ae_names(). It was easy to fix, but
> hard to track down.
>
> Here's the patch:
>
> diff -urp vile-9.8l/filters/filters.h vile-9.8l.hacked/filters/filters.h
> --- vile-9.8l/filters/filters.h 2014-03-27 15:40:34.626660422 -0700
> +++ vile-9.8l.hacked/filters/filters.h 2014-03-27 15:55:06.873034191
> -0700
> @@ -235,7 +235,9 @@ extern FILE *yyget_in (void);
> extern FILE *yyget_out (void);
> extern char *yyget_text (void);
> extern int yyget_debug (void);
> +#if 0
> extern int yyget_leng (void);
> +#endif
> extern int yyget_lineno (void);
> extern int yylex_destroy (void);
> extern void yyset_debug (int bdebug);
> diff -urp vile-9.8l/x11.c vile-9.8l.hacked/x11.c
> --- vile-9.8l/x11.c 2014-03-27 15:41:01.104338505 -0700
> +++ vile-9.8l.hacked/x11.c 2014-03-27 16:19:47.392022060 -0700
> @@ -6093,7 +6093,7 @@ ae_names(XVileAtom n)
> {
> const char *result = 0;
>
> -#define DATA(name) case ae ## name: result = #name
> +#define DATA(name) case ae ## name: result = #name; break;
> switch (n) {
> case aeMAX:
> break;
ouch - looks like my fault in last spring's changes
(thanks)
--
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net
signature.asc
Description: Digital signature