0

I'm experiencing a weird error of an unbound variable when I run a Scheme script for GNU Guile. For me it's not clear where the error occurs which is why I haven't posted a short reproducible code. I probably need to know first what I have to search for in my code.

The error reads as follows:

Backtrace:
In ice-9/boot-9.scm:
 157: 6 [catch #t #<catch-closure 266cce0> ...]
In unknown file:
   ?: 5 [apply-smob/1 #<catch-closure 266cce0>]
In ice-9/eval.scm:
 432: 4 [eval # #]
 432: 3 [eval # #]
In unknown file:
   ?: 2 [primitive-load "/home/NAME/MEEP/transmission-in-and-out/transmission-large_2D_wvg.ctl"]
In ice-9/eval.scm:
 393: 1 [eval #<memoized #{�}#> ()]
In unknown file:
   ?: 0 [memoize-variable-access! #<memoized #{�}#> #<directory # 265dc60>]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: #{�}#

It's clear to me that there must be some character in the code which is associated as a variable by guile. But it's somehow not a "printable" character. So I assume a whitespace. Am I right with this assumption? What should I search for?

I already had this error once before but when I reentered the whole code character by character into a new script the unbound variable was gone. This is what makes me think about a whitespace.

So far, I have googled for 'unbound variable' errors in GNU Guile and other Scheme implementations. But all I found were errors of "printable" variables which haven't been defined before. Searches with additional #{�}# didn't return really different results.

I hope I can provide additional information as soon as I know what I should look for.

apaderno
  • 28,547
  • 16
  • 75
  • 90
kluonk
  • 87
  • 2
  • 7
  • I cut and pasted your "unknown character" into Emacs and used `M-x describe-char` to see what it is. Here's what Emacs says: name: REPLACEMENT CHARACTER general-category: So (Symbol, Other) decomposition: (65533) ('�') – pnkfelix Aug 21 '17 at 12:03
  • Thank you very much! This is a way I was looking for to find out what character it is! The one you found is the one to which it was converted when copy & pasting it. The one in my code is a NO-BREAK SPACE. – kluonk Aug 21 '17 at 13:11
  • @kluonk you probably accidentally inserted a no-break space by pressing `alt-spacebar` instead of just `spacebar` on your keyboard (at least on Mac; it might be a different key combination on Linux or Windows). – Billy Brown Aug 23 '17 at 08:05

0 Answers0