| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version | ||||||||||
This is the class of condition signaled when an attempt is made to load a file compiled in case-insensitive-upper (ansi) into a case-sensitive-lower (modern) mode image. The blocking is done to avoid multiple symbols (uppercase and lowercase) intended to be identical from being created. A restart allows users to load the file anyway if desired.
The following illustrates what can happen when the condition is ignored and a file is loaded:
[Source File x.cl]
(in-package :user)
(eval-when (load)
(defparameter My-foo "compiled"))
(eval-when (eval)
(defparameter My-foo "interpreted"))
[In ANSI Lisp]
CL-USER(1): (load "x.cl")
T
CL-USER(2): My-foo
"interpreted"
CL-USER(3): (compile-file "x.cl")
CL-USER(4): (load "x.fasl")
T
CL-USER(5): My-foo
"compiled"
[In Modern Lisp]
cl-user(1): (load "x.cl")
t
cl-user(2): My-foo
"interpreted"
cl-user(3): (load "x.fasl")
Error: #p"[...]/x.fasl" was compiled in
case-insensitive-upper mode. Continuing to load this file may result
in symbol-name mismatches.
[condition type: fasl-casemode-mismatch]
Restart actions (select using :continue):
0: Continue loading /air/cox/work/acl/src/cl/src/x.fasl
1: retry the load of x.fasl
2: skip loading x.fasl
3: Return to Top Level (an "abort" restart)
4: Abort #<process Initial Lisp Listener>
[1] cl-user(4): :cont
t
cl-user(5): My-foo
"interpreted" ;;; Occurs because fasl file drops case-sensitivity
cl-user(6): my-foo
"compiled"
See case.htm for general information on case in Allegro CL.
Copyright (c) 1998-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.
| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version | ||||||||||