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

[hunspell] 94/98: Imported Debian patch 1.3.3-3



This is an automated email from the git hooks/post-receive script.

rene pushed a commit to branch master
in repository hunspell.

commit 406f94a85d9d1285b6ddc76b113d055d5b8de213
Author: Rene Engelhard <rene@debian.org>
Date:   Fri Oct 17 18:58:38 2014 +0000

    Imported Debian patch 1.3.3-3
---
 debian/changelog                               | 12 ++++++
 debian/patches/bug185.diff                     | 55 ++++++++++++++++++++++++++
 debian/patches/dont-translate-init-string.diff | 29 ++++++++++++++
 debian/patches/series                          |  2 +
 debian/rules                                   |  2 +-
 5 files changed, 99 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 1023a89..47d13df 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+hunspell (1.3.3-3) unstable; urgency=medium
+
+  * debian/patches/bug185.diff: backport patch from upstream bug 185
+    to fix UTF-8 spellchecking (e.g. in emacs) (closes: #762802)
+  * debian/patches/dont-translate-init-string.diff: as name says
+    (closes: #690318)
+  * make config.status in rules depend on configure.ac instead of
+    configure to fix second (re)build; configure is generated by
+    dh_autoreconf anyways
+
+ -- Rene Engelhard <rene@debian.org>  Fri, 17 Oct 2014 18:58:38 +0000
+
 hunspell (1.3.3-2) unstable; urgency=low
 
   * use dh-autoreconf (closes: #753628)
diff --git a/debian/patches/bug185.diff b/debian/patches/bug185.diff
new file mode 100644
index 0000000..4a2bff8
--- /dev/null
+++ b/debian/patches/bug185.diff
@@ -0,0 +1,55 @@
+--- a/src/tools/hunspell.cxx	2014/09/26 16:24:46	1.60
++++ b/src/tools/hunspell.cxx	2014/10/16 12:59:44	1.61
+@@ -850,13 +850,22 @@
+ 			fflush(stdout);
+ 		} else {
+ 			char ** wlst = NULL;
+-			int ns = pMS[d]->suggest(&wlst, token);
++			int byte_offset = parser->get_tokenpos() + pos;
++			int char_offset = 0;
++			if (strcmp(io_enc, "UTF-8") == 0) {
++				for (int i = 0; i < byte_offset; i++) {
++					if ((buf[i] & 0xc0) != 0x80)
++						char_offset++;
++				}
++			} else {
++				char_offset = byte_offset;
++			}
++			int ns = pMS[d]->suggest(&wlst, chenc(token, io_enc, dic_enc[d]));
+ 			if (ns == 0) {
+-		    		fprintf(stdout,"# %s %d", token,
+-		    		    parser->get_tokenpos() + pos);
++				fprintf(stdout,"# %s %d", token, char_offset);
+ 			} else {
+ 				fprintf(stdout,"& %s %d %d: ", token, ns,
+-				    parser->get_tokenpos() + pos);
++					char_offset);
+ 				fprintf(stdout,"%s", chenc(wlst[0], dic_enc[d], io_enc));
+ 			}
+ 			for (int j = 1; j < ns; j++) {
+@@ -885,13 +894,23 @@
+ 			if (root) free(root);
+ 		} else {
+ 			char ** wlst = NULL;
++			int byte_offset = parser->get_tokenpos() + pos;
++			int char_offset = 0;
++			if (strcmp(io_enc, "UTF-8") == 0) {
++				for (int i = 0; i < byte_offset; i++) {
++					if ((buf[i] & 0xc0) != 0x80)
++						char_offset++;
++				}
++			} else {
++				char_offset = byte_offset;
++			}
+ 			int ns = pMS[d]->suggest(&wlst, chenc(token, io_enc, dic_enc[d]));
+ 			if (ns == 0) {
+ 		    		fprintf(stdout,"# %s %d", chenc(token, io_enc, ui_enc),
+-		    		    parser->get_tokenpos() + pos);
++				    char_offset);
+ 			} else {
+ 				fprintf(stdout,"& %s %d %d: ", chenc(token, io_enc, ui_enc), ns,
+-				    parser->get_tokenpos() + pos);
++				    char_offset);
+ 				fprintf(stdout,"%s", chenc(wlst[0], dic_enc[d], ui_enc));
+ 			}
+ 			for (int j = 1; j < ns; j++) {
diff --git a/debian/patches/dont-translate-init-string.diff b/debian/patches/dont-translate-init-string.diff
new file mode 100644
index 0000000..43f4b49
--- /dev/null
+++ b/debian/patches/dont-translate-init-string.diff
@@ -0,0 +1,29 @@
+--- a/src/tools/hunspell.cxx	2014/10/16 12:59:44	1.61
++++ b/src/tools/hunspell.cxx	2014/10/16 13:28:33	1.62
+@@ -1796,8 +1796,6 @@
+ 			exit(0);
+ 		} else if ((strcmp(argv[i],"-a")==0)) {
+ 			filter_mode = PIPE;
+-			fprintf(stdout,gettext(HUNSPELL_PIPE_HEADING));
+-			fflush(stdout);
+ 		} else if ((strcmp(argv[i],"-m")==0)) {
+             /*
+              if -a was used, don't override, i.e. keep ispell compatability
+@@ -2002,6 +2000,17 @@
+ 	    }
+         }
+ 
++	/* 
++	   If in pipe mode, output pipe mode version string only when
++	   hunspell has properly been started. 
++	   Emacs and may be others relies in the English version format. 
++	   Do not gettextize. 
++	*/
++	if (filter_mode == PIPE) {
++	  fprintf(stdout,HUNSPELL_PIPE_HEADING);
++	  fflush(stdout);
++	}
++
+ 	if (arg_files==-1) {
+ 		pipe_interface(pMS, format, stdin, NULL);
+ 	} else if (filter_mode != NORMAL) {
diff --git a/debian/patches/series b/debian/patches/series
index d9cfb82..2d1bed4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
 aspell_conv
 debian-changes-1.2.4-2
+bug185.diff
+dont-translate-init-string.diff
diff --git a/debian/rules b/debian/rules
index b294931..cf96bf2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -35,7 +35,7 @@ major=2
 #major=`ls src/.libs/lib*.so.* | \
 # awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
 
-config.status: configure
+config.status: configure.ac
 	dh_testdir
 	dh_autoreconf
 	CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openoffice/hunspell.git


Reply to: