On 06/06/15 10:10, Andreas Metzler wrote:
On 2015-06-06 Nikos Mavrogiannopoulos <n...@gnutls.org> wrote:
On Fri, 2015-06-05 at 18:19 -0700, Bruce Korb wrote:
export AUTOGEN_TRACE=everything AUTOGEN_TRACE_OUT='>>/tmp/ag-log.txt'

Log is attached.
[...]

FWIW, it also works for me on sid (both amd64 and i386).

cu Andreas


Hi Guys,

Eric Raymond and I poked around long enough to find the problem:

It's this:

--- a/agen5/autogen.c
+++ b/agen5/autogen.c
@@ -26,6 +26,7 @@
 #ifdef HAVE_SYS_RESOURCE_H
 #include <sys/resource.h>
 #endif
+#include <locale.h>

 typedef void (void_main_proc_t)(int, char **);

@@ -120,6 +121,7 @@ inner_main(void * closure, int argc, char ** argv)
 int
 main(int argc, char ** argv)
 {
+    setlocale(LC_ALL, "");
     setup_signals(ignore_signal, SIG_DFL, catch_sig_and_bail);
     optionSaveState(&autogenOptions);
     trace_fp = stderr;

I was told by the Guile folks that to make strings be and stay as ASCII strings,
I needed to do this.  By backing out the setlocale call, all becomes well again
-- UNLESS -- you happen to use some locale that makes Guile strings go berserk.
Changing the behavior of Guile strings was a completely stupid idea.
If you change semantics, for God's sake, change the interface name.
So for the short term:  remove the setlocale call and be certain to never
run autogen unless the environment variable "LC_ALL" is set to "C".  :(
Maybe the fix is to do a getenv for LC_ALL and re-exec with the right value
if there is a problem?


--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to