| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 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-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |