Hi,

due to an upstream bugfix <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit/read.c.diff?r1=1.69&r2=1.70&hideattic=0&sortby=date>

fixing the last problem I had (with pipes), the editline fork from

<http://www.thrysoee.dk/editline/libedit-20130712-3.1.tar.gz>

is finally useable as a drop-in replacement for the extern/editline stuff.

Just replace the contents of extern/editline with the archive above, apply the attached patches, configure with --with-editline=yes and you will get an isql with UTF8 enabled line editing.


Frank

--
"Fascinating creatures, phoenixes, they can carry immensely heavy loads, their tears have healing powers and they make highly faithful pets." - J.K. Rowling
diff -urdX exclude.list ../svndata/fb_head/extern/editline/src/eln.c ../build_posix/firebird2/extern/editline/src/eln.c
--- ../svndata/fb_head/extern/editline/src/eln.c	2012-03-11 23:00:23.000000000 +0100
+++ ../build_posix/firebird2/extern/editline/src/eln.c	2013-06-27 10:44:05.728090265 +0200
@@ -75,10 +75,12 @@
 el_gets(EditLine *el, int *nread)
 {
 	const wchar_t *tmp;
-
-	el->el_flags |= IGNORE_EXTCHARS;
+//we don't want to ignore extended chars with UTF8 charsets /FSG 20011
+	if (!(el->el_flags & CHARSET_IS_UTF8))
+		el->el_flags |= IGNORE_EXTCHARS;
 	tmp = el_wgets(el, nread);
-	el->el_flags &= ~IGNORE_EXTCHARS;
+	if (!(el->el_flags & CHARSET_IS_UTF8))
+		el->el_flags &= ~IGNORE_EXTCHARS;
 	return ct_encode_string(tmp, &el->el_lgcyconv);
 }
 
index: isql.epp
===================================================================
--- isql.epp	(Revision 58259)
+++ isql.epp	(Arbeitskopie)
@@ -83,6 +83,7 @@
 // This is a local file included in our distribution - but not always
 // compiled into the system
 #include "editline.h"
+#include <locale.h> 
 #endif
 
 enum literal_string_type
@@ -532,6 +533,9 @@
 	isqlGlob.major_ods = 0;
 	isqlGlob.minor_ods = 0;
 
+#ifdef HAVE_EDITLINE_H
+	setlocale(LC_CTYPE, "");
+#endif
 	int rc = ISQL_main(argc, argv);
 	return rc;
 }
Index: Makefile.in.extern.editline
===================================================================
--- Makefile.in.extern.editline	(Revision 58259)
+++ Makefile.in.extern.editline	(Arbeitskopie)
@@ -62,7 +62,7 @@
 libeditline : $(LIB)/libedit.a
 
 $(LIB)/libedit.a:
-	cd $(ROOT)/extern/editline; chmod +x configure; ./configure --enable-static --disable-shared
+	cd $(ROOT)/extern/editline; chmod +x configure; ./configure --enable-static --disable-shared --enable-widec
 	$(MAKE) -C $(ROOT)/extern/editline
 	cp $(ROOT)/extern/editline/src/.libs/libedit.a $(LIB)
 
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to