* Mon Feb 7 2011 Jerry James <loganjerry@gmail.com> - 3.0-2.20100424cvs
- Update to 3.0 (20100424 snap) - Enable wide-character (Unicode) support
This commit is contained in:
parent
515d1713c0
commit
52edeba194
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
libedit-20090923-3.0.tar.gz
|
libedit-20100424-3.0.tar.gz
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- libedit-20090923-3.0/src/read.c.sigwinch 2009-09-23 22:04:26.000000000 +0100
|
--- libedit-20100424-3.0/src/read.c.sigwinch 2010-04-22 14:09:52.000000000 -0600
|
||||||
+++ libedit-20090923-3.0/src/read.c 2010-03-19 20:47:46.000000000 +0000
|
+++ libedit-20100424-3.0/src/read.c 2011-02-05 18:16:19.007277633 -0700
|
||||||
@@ -301,6 +301,9 @@ read_char(EditLine *el, char *cp)
|
@@ -325,6 +325,9 @@
|
||||||
sig_set(el);
|
sig_set(el);
|
||||||
el_set(el, EL_REFRESH);
|
el_set(el, EL_REFRESH);
|
||||||
goto again;
|
goto again;
|
||||||
|
@ -1,21 +1,7 @@
|
|||||||
examples/fileman.c | 3 ++-
|
diff -durp libedit-20100424-3.0.orig/examples/fileman.c libedit-20100424-3.0/examples/fileman.c
|
||||||
src/readline.c | 6 ++++--
|
--- libedit-20100424-3.0.orig/examples/fileman.c 2010-04-22 13:13:17.000000000 -0600
|
||||||
src/vi.c | 18 +++++++++++-------
|
+++ libedit-20100424-3.0/examples/fileman.c 2011-02-07 13:14:13.209553427 -0700
|
||||||
3 files changed, 17 insertions(+), 10 deletions(-)
|
@@ -279,7 +279,7 @@ command_generator (text, state)
|
||||||
|
|
||||||
diff --git a/examples/fileman.c b/examples/fileman.c
|
|
||||||
index f1d81af..026a4f4 100644
|
|
||||||
--- a/examples/fileman.c
|
|
||||||
+++ b/examples/fileman.c
|
|
||||||
@@ -16,6 +16,7 @@
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#include <time.h>
|
|
||||||
|
|
||||||
/* GNU readline
|
|
||||||
#include <readline/readline.h>
|
|
||||||
@@ -275,7 +276,7 @@ command_generator (text, state)
|
|
||||||
|
|
||||||
/* Return the next name which partially matches from the
|
/* Return the next name which partially matches from the
|
||||||
command list. */
|
command list. */
|
||||||
@ -24,43 +10,50 @@ index f1d81af..026a4f4 100644
|
|||||||
{
|
{
|
||||||
list_index++;
|
list_index++;
|
||||||
|
|
||||||
diff --git a/src/readline.c b/src/readline.c
|
diff -durp libedit-20100424-3.0.orig/examples/wtc1.c libedit-20100424-3.0/examples/wtc1.c
|
||||||
index 842ab44..b692e3f 100644
|
--- libedit-20100424-3.0.orig/examples/wtc1.c 2010-04-22 13:13:17.000000000 -0600
|
||||||
--- a/src/readline.c
|
+++ libedit-20100424-3.0/examples/wtc1.c 2011-02-07 13:19:20.839378510 -0700
|
||||||
+++ b/src/readline.c
|
@@ -60,7 +60,7 @@ complete(EditLine *el, int ch)
|
||||||
@@ -1270,8 +1270,10 @@ history_truncate_file (const char *filename, int nlines)
|
char *buf, *bptr;
|
||||||
|
const LineInfoW *lf = el_wline(el);
|
||||||
|
int len, mblen, i;
|
||||||
|
- unsigned char res;
|
||||||
|
+ unsigned char res = CC_NORM;
|
||||||
|
|
||||||
|
/* Find the last word */
|
||||||
|
for (ptr = lf->cursor -1; !iswspace(*ptr) && ptr > lf->buffer; --ptr)
|
||||||
|
diff -durp libedit-20100424-3.0.orig/src/readline.c libedit-20100424-3.0/src/readline.c
|
||||||
|
--- libedit-20100424-3.0.orig/src/readline.c 2010-04-24 12:32:18.000000000 -0600
|
||||||
|
+++ libedit-20100424-3.0/src/readline.c 2011-02-07 13:14:13.210553427 -0700
|
||||||
|
@@ -1273,8 +1273,8 @@ history_truncate_file (const char *filen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fflush(fp);
|
fflush(fp);
|
||||||
- if((off = ftello(fp)) > 0)
|
- if((off = ftello(fp)) > 0)
|
||||||
- (void)ftruncate(fileno(fp), off);
|
- (void)ftruncate(fileno(fp), off);
|
||||||
+ if((off = ftello(fp)) > 0) {
|
+ if((off = ftello(fp)) > 0 && ftruncate(fileno(fp), off) < 0)
|
||||||
+ int sink = ftruncate(fileno(fp), off);
|
+ ret = errno;
|
||||||
+ (void) sink;
|
|
||||||
+ }
|
|
||||||
out3:
|
out3:
|
||||||
fclose(tp);
|
fclose(tp);
|
||||||
out2:
|
out2:
|
||||||
diff --git a/src/vi.c b/src/vi.c
|
diff -durp libedit-20100424-3.0.orig/src/vi.c libedit-20100424-3.0/src/vi.c
|
||||||
index 438aad4..a8e5e85 100644
|
--- libedit-20100424-3.0.orig/src/vi.c 2010-04-22 14:09:52.000000000 -0600
|
||||||
--- a/src/vi.c
|
+++ libedit-20100424-3.0/src/vi.c 2011-02-07 13:14:13.211553427 -0700
|
||||||
+++ b/src/vi.c
|
@@ -1008,6 +1008,7 @@ vi_histedit(EditLine *el, Int c)
|
||||||
@@ -1004,6 +1004,7 @@ vi_histedit(EditLine *el, int c)
|
|
||||||
int status;
|
|
||||||
char tempfile[] = "/tmp/histedit.XXXXXXXXXX";
|
|
||||||
char *cp;
|
char *cp;
|
||||||
|
size_t len;
|
||||||
|
Char *line;
|
||||||
+ el_action_t rv = CC_ERROR;
|
+ el_action_t rv = CC_ERROR;
|
||||||
|
|
||||||
if (el->el_state.doingarg) {
|
if (el->el_state.doingarg) {
|
||||||
if (vi_to_history_line(el, 0) == CC_ERROR)
|
if (vi_to_history_line(el, 0) == CC_ERROR)
|
||||||
@@ -1014,14 +1015,15 @@ vi_histedit(EditLine *el, int c)
|
@@ -1032,16 +1033,14 @@ vi_histedit(EditLine *el, Int c)
|
||||||
if (fd < 0)
|
ct_wcstombs(cp, line, TMP_BUFSIZ - 1);
|
||||||
return CC_ERROR;
|
cp[TMP_BUFSIZ - 1] = '\0';
|
||||||
cp = el->el_line.buffer;
|
len = strlen(cp);
|
||||||
- write(fd, cp, (size_t)(el->el_line.lastchar - cp));
|
- write(fd, cp, len);
|
||||||
- write(fd, "\n", 1);
|
- write(fd, "\n", 1);
|
||||||
+ if (write(fd, cp, (size_t)(el->el_line.lastchar - cp)) < 0
|
+ if (write(fd, cp, len) < 0 || write(fd, "\n", 1) < 0)
|
||||||
+ || write(fd, "\n", 1) < 0)
|
|
||||||
+ /* FIXME: handle EAGAIN somehow? */
|
+ /* FIXME: handle EAGAIN somehow? */
|
||||||
+ goto fail;
|
+ goto fail;
|
||||||
+
|
+
|
||||||
@ -69,12 +62,19 @@ index 438aad4..a8e5e85 100644
|
|||||||
case -1:
|
case -1:
|
||||||
- close(fd);
|
- close(fd);
|
||||||
- unlink(tempfile);
|
- unlink(tempfile);
|
||||||
|
- el_free(cp);
|
||||||
|
- el_free(line);
|
||||||
- return CC_ERROR;
|
- return CC_ERROR;
|
||||||
+ goto fail;
|
+ goto fail;
|
||||||
case 0:
|
case 0:
|
||||||
close(fd);
|
close(fd);
|
||||||
execlp("vi", "vi", tempfile, (char *)NULL);
|
execlp("vi", "vi", tempfile, (char *)NULL);
|
||||||
@@ -1039,10 +1041,12 @@ vi_histedit(EditLine *el, int c)
|
@@ -1063,15 +1062,17 @@ vi_histedit(EditLine *el, Int c)
|
||||||
|
len = 0;
|
||||||
|
el->el_line.cursor = el->el_line.buffer;
|
||||||
|
el->el_line.lastchar = el->el_line.buffer + len;
|
||||||
|
- el_free(cp);
|
||||||
|
- el_free(line);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,6 +85,8 @@ index 438aad4..a8e5e85 100644
|
|||||||
unlink(tempfile);
|
unlink(tempfile);
|
||||||
- /* return CC_REFRESH; */
|
- /* return CC_REFRESH; */
|
||||||
- return ed_newline(el, 0);
|
- return ed_newline(el, 0);
|
||||||
|
+ el_free(cp);
|
||||||
|
+ el_free(line);
|
||||||
+ return rv;
|
+ return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
libedit.spec
12
libedit.spec
@ -1,4 +1,4 @@
|
|||||||
%define snap 20090923
|
%define snap 20100424
|
||||||
|
|
||||||
Summary: The NetBSD Editline library
|
Summary: The NetBSD Editline library
|
||||||
Name: libedit
|
Name: libedit
|
||||||
@ -15,8 +15,6 @@ Patch0: libedit-3.0-warnings.patch
|
|||||||
# bz #575383
|
# bz #575383
|
||||||
Patch1: libedit-3.0-sigwinch.patch
|
Patch1: libedit-3.0-sigwinch.patch
|
||||||
|
|
||||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|
||||||
|
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
|
|
||||||
@ -46,7 +44,7 @@ iconv --from-code ISO8859-1 --to-code UTF-8 ./ChangeLog \
|
|||||||
--output ChangeLog.utf-8 && mv ChangeLog.utf-8 ./ChangeLog
|
--output ChangeLog.utf-8 && mv ChangeLog.utf-8 ./ChangeLog
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-static
|
%configure --disable-static --enable-widec
|
||||||
|
|
||||||
# Trying to omit unused direct shared library dependencies leads to
|
# Trying to omit unused direct shared library dependencies leads to
|
||||||
# undefined non-weak symbols.
|
# undefined non-weak symbols.
|
||||||
@ -73,7 +71,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc examples/fileman.c examples/test.c
|
%doc examples/fileman.c examples/tc1.c examples/wtc1.c
|
||||||
%doc %{_mandir}/man3/*
|
%doc %{_mandir}/man3/*
|
||||||
%doc %{_mandir}/man5/editrc.5*
|
%doc %{_mandir}/man5/editrc.5*
|
||||||
%{_includedir}/histedit.h
|
%{_includedir}/histedit.h
|
||||||
@ -84,6 +82,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_includedir}/editline/readline.h
|
%{_includedir}/editline/readline.h
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 7 2011 Jerry James <loganjerry@gmail.com> - 3.0-2.20100424cvs
|
||||||
|
- Update to 3.0 (20100424 snap)
|
||||||
|
- Enable wide-character (Unicode) support
|
||||||
|
|
||||||
* Tue Mar 30 2010 Kamil Dudka <kdudka@redhat.com> 3.0-2.20090923cvs
|
* Tue Mar 30 2010 Kamil Dudka <kdudka@redhat.com> 3.0-2.20090923cvs
|
||||||
- eliminated compile-time warnings
|
- eliminated compile-time warnings
|
||||||
- fix to not break the read loop on SIGWINCH, patch contributed
|
- fix to not break the read loop on SIGWINCH, patch contributed
|
||||||
|
Loading…
Reference in New Issue
Block a user