Resolves: rhbz#985052 layout problems with very long lines
This commit is contained in:
parent
d7ebd2551d
commit
f83437d3bc
84
hunspell.rhbz985052.patch
Normal file
84
hunspell.rhbz985052.patch
Normal file
@ -0,0 +1,84 @@
|
||||
Index: man/hunspell.1
|
||||
===================================================================
|
||||
RCS file: /cvsroot/hunspell/hunspell/man/hunspell.1,v
|
||||
retrieving revision 1.4
|
||||
diff -u -r1.4 hunspell.1
|
||||
--- man/hunspell.1 13 Jun 2013 19:13:50 -0000 1.4
|
||||
+++ man/hunspell.1 25 Jul 2013 08:26:50 -0000
|
||||
@@ -385,5 +385,3 @@
|
||||
see hunspell(3).
|
||||
.PP
|
||||
This manual based on Ispell's manual. See ispell(1).
|
||||
-.SH BUGS
|
||||
-There are some layout problems with long lines.
|
||||
Index: src/tools/hunspell.cxx
|
||||
===================================================================
|
||||
RCS file: /cvsroot/hunspell/hunspell/src/tools/hunspell.cxx,v
|
||||
retrieving revision 1.34
|
||||
diff -u -r1.34 hunspell.cxx
|
||||
--- src/tools/hunspell.cxx 13 Jun 2013 19:37:30 -0000 1.34
|
||||
+++ src/tools/hunspell.cxx 25 Jul 2013 08:26:50 -0000
|
||||
@@ -854,18 +854,19 @@
|
||||
// like mbstowcs which isn't quite correct, but close enough for western
|
||||
// text in UTF-8
|
||||
void strncpyu8(char * dest, const char * src, int begin, int n) {
|
||||
- int u8 = ((ui_enc != NULL) && (strcmp(ui_enc, "UTF-8") == 0)) ? 1 : 0;
|
||||
- int i = 0;
|
||||
- while (i < begin + n) {
|
||||
- if (i >= begin)
|
||||
- {
|
||||
- if (!*src)
|
||||
- break;
|
||||
- *dest++ = *src;
|
||||
+ if (n) {
|
||||
+ int u8 = ((ui_enc != NULL) && (strcmp(ui_enc, "UTF-8") == 0)) ? 1 : 0;
|
||||
+ for (int i = 0; i < begin + n;) {
|
||||
+ if (!*src) break; // source is at it's end
|
||||
+ if (!u8 || (*src & 0xc0) != 0x80) i++; // new character
|
||||
+ if(i > begin){ // copy char (w/ utf-8 bytes)
|
||||
+ *dest++ = *src++;
|
||||
+ while(u8 && (*src & 0xc0) == 0x80) *dest++ = *src++;
|
||||
+ }else{ // skip char (w/ utf-8 bytes)
|
||||
+ ++src;
|
||||
+ while(u8 && (*src & 0xc0) == 0x80) ++src;
|
||||
+ }
|
||||
}
|
||||
- if (!u8 || (*src & 0xc0) != 0x80)
|
||||
- i++;
|
||||
- ++src;
|
||||
}
|
||||
*dest = '\0';
|
||||
}
|
||||
@@ -902,8 +903,6 @@
|
||||
expand_tab(lines[i], chenc(parser->get_prevline(i), io_enc, ui_enc), MAXLNLEN);
|
||||
}
|
||||
|
||||
- int prevline = 0;
|
||||
-
|
||||
strncpy(line, parser->get_prevline(0), parser->get_tokenpos());
|
||||
line[parser->get_tokenpos()] = '\0';
|
||||
int tokenbeg = expand_tab(line2, chenc(line, io_enc, ui_enc), MAXLNLEN);
|
||||
@@ -912,10 +911,13 @@
|
||||
line[parser->get_tokenpos() + strlen(token)] = '\0';
|
||||
int tokenend = expand_tab(line2, chenc(line, io_enc, ui_enc), MAXLNLEN);
|
||||
|
||||
- int rowindex = tokenend / x;
|
||||
+ int rowindex = (tokenend - 1) / x;
|
||||
int beginrow = rowindex - tokenbeg / x;
|
||||
if (beginrow >= MAXPREVLINE) beginrow = MAXPREVLINE - 1;
|
||||
|
||||
+ int ri = rowindex;
|
||||
+ int prevline = 0;
|
||||
+
|
||||
for (int i = 0; i < MAXPREVLINE; i++) {
|
||||
strncpyu8(line, lines[prevline], x * rowindex, x);
|
||||
mvprintw(MAXPREVLINE + 1 - i, 0, "%s", line);
|
||||
@@ -927,7 +929,7 @@
|
||||
}
|
||||
|
||||
int linestartpos = tokenbeg - (tokenbeg % x);
|
||||
- strncpyu8(line, lines[0], x * rowindex + linestartpos, tokenbeg % x);
|
||||
+ strncpyu8(line, lines[0], x * (ri - beginrow), tokenbeg % x) ;
|
||||
mvprintw(MAXPREVLINE + 1 - beginrow, 0, "%s", line);
|
||||
attron(A_REVERSE);
|
||||
printw("%s", chenc(token, io_enc, ui_enc));
|
@ -3,7 +3,7 @@
|
||||
Name: hunspell
|
||||
Summary: A spell checker and morphological analyzer library
|
||||
Version: 1.3.2
|
||||
Release: 12%{?dist}
|
||||
Release: 13%{?dist}
|
||||
Source: http://downloads.sourceforge.net/%{name}/hunspell-%{version}.tar.gz
|
||||
Group: System Environment/Libraries
|
||||
URL: http://hunspell.sourceforge.net/
|
||||
@ -20,6 +20,7 @@ Requires: hunspell-en-US
|
||||
Patch0: hunspell.rhbz759647.patch
|
||||
Patch1: hunspell.rhbz918938.patch
|
||||
Patch2: hunspell-aarch64.patch
|
||||
Patch3: hunspell.rhbz985052.patch
|
||||
|
||||
%description
|
||||
Hunspell is a spell checker and morphological analyzer library and program
|
||||
@ -40,6 +41,7 @@ Includes and definitions for developing with hunspell
|
||||
%patch0 -p0 -b .rhbz759647
|
||||
%patch1 -p0 -b .rhbz918938
|
||||
%patch2 -p1 -b .aarch64
|
||||
%patch3 -p0 -b .rhbz985052
|
||||
|
||||
%build
|
||||
configureflags="--disable-rpath --disable-static --with-ui --with-readline"
|
||||
@ -129,6 +131,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_mandir}/man3/hunspell.3.gz
|
||||
|
||||
%changelog
|
||||
* Thu Jul 25 2013 Caolán McNamara <caolanm@redhat.com> - 1.3.2-13
|
||||
- Resolves: rhbz#985052 layout problems with very long lines
|
||||
|
||||
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 1.3.2-12
|
||||
- Perl 5.18 rebuild
|
||||
|
||||
@ -288,10 +293,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Drop ABI breaking hunspell-1.2.2-xulrunner.pita.patch and fix the
|
||||
hunspell include in xulrunner.
|
||||
|
||||
* Fri Jun 18 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.4.2-1
|
||||
* Wed Jun 18 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.4.2-1
|
||||
- latest version
|
||||
|
||||
* Thu Jun 17 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.4-1
|
||||
* Tue Jun 17 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.4-1
|
||||
- latest version
|
||||
|
||||
* Fri May 16 2008 Caolán McNamara <caolanm@redhat.com> - 1.2.2-3
|
||||
|
Loading…
Reference in New Issue
Block a user