On 11/16/12 11:19, Mark H Weaver wrote: > Hi Bruce, > > Bruce Korb <bruce.k...@gmail.com> writes: >> This is a clumsy way of saying you don't like the '©' character in >> strings. > > I'm sorry, but you haven't provided nearly enough information for me to
I'm sorry, I did leave off the backtrace. Here's another GDB session: 460 return AG_SCM_STR02SCM(pE->de_val.dvu_text); (gdb) printf "%s\n", pE->de_val.dvu_text This program reads or accepts a list of files and prints the names of the files that are not plain text. @i{plain text} characters are characters in the range of 0x20 thru 0x7E (' ' thru '~'), plus backspace, whitespace characters and the character 0xA9 (© - the copyright character). (gdb) s Backtrace: In ice-9/boot-9.scm: 149: 8 [catch #t #<catch-closure 9b5860> ...] 157: 7 [#<procedure 9510f0 ()>] In unknown file: ?: 6 [catch-closure] In ice-9/eval.scm: 407: 5 [eval # ()] 442: 4 [eval # #] 368: 3 [eval # #] 368: 2 [eval # #] 368: 1 [eval # #] In unknown file: ?: 0 [get "explain" #<undefined>] ERROR: In procedure get: ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input locale conversion error" \ 84 #vu8(84 104 105 115 32 112 114 111 103 114 97 109 32 114 101 97 100 115 32 111 114 32 97 99 99 \ 101 112 116 115 32 97 32 108 105 115 116 32 111 102 32 102 105 108 101 115 32 97 110 100 32 112 \ 114 105 110 116 115 32 116 104 101 32 110 97 109 101 115 32 111 102 32 116 104 101 10 102 105 108 \ 101 115 32 116 104 97 116 32 97 114 101 32 110 111 116 32 112 108 97 105 110 32 116 101 120 116 46 \ 32 32 64 105 123 112 108 97 105 110 32 116 101 120 116 125 32 99 104 97 114 97 99 116 101 114 115 \ 32 97 114 101 32 99 104 97 114 97 99 116 101 114 115 10 105 110 32 116 104 101 32 114 97 110 103 \ 101 32 111 102 32 48 120 50 48 32 116 104 114 117 32 48 120 55 69 32 40 39 32 39 32 116 104 114 \ 117 32 39 126 39 41 44 32 112 108 117 115 32 98 97 99 107 115 112 97 99 101 44 10 119 104 105 116 \ 101 115 112 97 99 101 32 99 104 97 114 97 99 116 101 114 115 32 97 110 100 32 116 104 101 32 99 \ 104 97 114 97 99 116 101 114 32 48 120 65 57 32 40 169 32 45 32 116 104 101 32 99 111 112 121 114 \ 105 103 104 116 32 99 104 97 114 97 99 116 101 114 41 46))'. Program received signal SIGSEGV, Segmentation fault. 0x00007ffff78a389e in scm_frame_procedure () from /usr/lib64/libguile-2.0.so.22 "AG_SCM_STR02SCM()" is a Guile-version dependent macro: $ fgrep GUILE_VERSION ../config.h #define GUILE_VERSION 200005 an edited extract from my version dependent wrapper header: #if (GUILE_VERSION >= 200000) && (GUILE_VERSION <= 200003) # error AutoGen does not work with this version of Guile choke me. #elif (GUILE_VERSION <= 106000) # error AutoGen does not work with this version of Guile choke me. #elif GUILE_VERSION < 107000 # define AG_SCM_STR02SCM(_s) scm_makfrom0str(_s) #elif GUILE_VERSION < 200000 # define AG_SCM_STR02SCM(_s) scm_from_locale_string(_s) #elif GUILE_VERSION < 201000 # define AG_SCM_STR02SCM(_s) scm_from_utf8_string(_s) [...] > figure out what caused the SIGSEGV. I don't even know what function you scm_from_locale_string(). I had a stack trace that disappeared from the email. (Typo of some sort. Sorry.) > called, or what arguments you passed to it. I guess you called one of > the scm_from_*_string functions with a string, without telling Guile > what string encoding was used. Telling it? Aside from LC_ALL=C ?? Nope. >> Anyway, seg faulting is not a good response. > > If you give me more information, perhaps I can help figure out what > caused the SIGSEGV. I am certain it was the \251 character, because when I remove it, it doesn't happen.