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