[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;
- [vile] Two fixes for vile-9.8l,
Kevin Buettner <=