This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: More case-insensitivity problems...


forcer <forcer@mindless.com> writes:

 > guile> (define FOO 1)
 > guile> FOO
 > 1
 > guile> (read-enable 'case-insensitive)
 > (keywords #f case-insensitive positions)
 > guile> FOO
 > ERROR: In expression foo:
 > ERROR: Unbound variable: foo
 > ABORT: (misc-error)
 > 
 > This means that guile *won't* see any variables that were defined
 > upper-case *bevore* setting it case-insensitive.

Not exactly.  You just have to use the special syntax for using 
upper case (or mixed case) symbols.  I believe it's supposed to be
#{...}#, which should behave as:

   guile> (define FOO 1)
   guile> FOO
   1
   guile> (read-enable 'case-insensitive)
   (keywords #f case-insensitive positions)
   guile> #{FOO}#
   1

 > This also applies to all predeclared variables (SOL_SOCKET, etc.)

Yes, those should probably be changed to lower case so that they're
easily & obviously accessible in general.  It'd be best if all
pre-defineds are in the same case & (read-enable 'case-insensitive)
automatically maps to that case - i.e. - make everything upper case &
make read-enable map symbols to upper case, or make everything lower
case & make read-enable map to lower case.

-- 
Harvey J. Stein
BFM Financial Research
hjstein@bfr.co.il