Bruce Korb <bruce.k...@gmail.com> writes: > Who knows where I learned the idiom. I learned the minimal amount of > Guile needed for my purposes a dozen years ago. My actual problem > stems from this: > >> Backtrace: >> In ice-9/boot-9.scm: >> 170: 3 [catch #t #<catch-closure 8b75a0> ...] >> In unknown file: >> ?: 2 [catch-closure] >> In ice-9/eval.scm: >> 420: 1 [eval # ()] >> In unknown file: >> ?: 0 [string-upcase ""] >> >> ERROR: In procedure string-upcase: >> ERROR: string is read-only: "" >> Scheme evaluation error. AutoGen ABEND-ing in template >> confmacs.tlib on line 209 >> Failing Guile command: = = = = = >> >> (set! tmp-text (get "act-text")) >> (set! TMP-text (string-upcase tmp-text)) > > What in heck is string-upcase doing trying to write to its input > string?
This looks like it might be just a bug. Could be that string-upcase creates its own copy of the string incorrectly including the immutable bit and then tries changing the string. No reason to play helter-skelter with the language. Instead the bug should be fixed. -- David Kastrup