vile
[Top][All Lists]
Advanced

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

[vile] Two fixes for vile-9.8l


From: Kevin Buettner
Subject: [vile] Two fixes for vile-9.8l
Date: Thu, 27 Mar 2014 16:59:19 -0700

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.

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;




reply via email to

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