This document describes the language incompatibilities between Allegro CL 5.0, hereafter referred to as ACL, and Allegro CL 3.0.x for Windows, hereafter referred to as ACLWin.
Only Lisp language differences are discussed in this document. For a discussion of Common Graphics or Runtime Delivery incompatibilities, please see Supplemental Common Graphics Documentation.
In particular, please note that the functionality described in this document is available in ACL by evaluating (require "aclwin"). The Runtime module called aclwin302.fasl is available only as part of building a Common Graphics deliverable application and is described in ACLWIN 3.0.2 Common Graphics Compatibility.
This section lists the incompatibilities between ACL and ACLWin.
Use of the items in this section will result in runtime errors and compile time warnings. When available, similar functionality is noted in the error or warning, and this is summarized below.
The following symbols do not have definitions in ACL 5.0:
*application-directory* | *case-sensitive-intern* |
*comma-char* | *comma-gap* |
*command-line* | *compiler-warnings* |
*daylight-saving-time* | *decimal-point-char* |
*device-units-p* | *fasl-save-doc-strings* |
*fasl-save-lambda-lists* | *format-date-style* |
*gc-hook* | *io-error* |
*print-line-wraps* | *print-namestring* |
*print-shared* | *read-case* |
*read-dos-mode* | *read-no-hang* |
*read-source* | *read-tolerant* |
*save-doc-strings* | *save-lambda-lists* |
*session-exit-fns* | *session-init-fns* |
*session-variables* | *top-print-length* |
*top-print-level* | *warn-on-protected-class-redefinition* |
*warn-on-protected-function-redefinition* | *warn-on-protected-generic-function-redefinition* |
*warn-on-redefinition* | backtrace |
breakpoint | breakpointf |
canonize-type | clear-page |
clear-reader | compound-stream-echo-p |
compound-stream-input-streams | compound-stream-output-streams |
compound-stream-p | copy |
daylight-saving-time | debugger |
defdeclaration | delete-declaration |
delete-function | delete-setf-method |
delete-structure | delete-type |
delete-variable | eof-p |
file-create-date | free-space |
free-store | fresh-page |
generic-flet | generic-labels |
get-gc-config | get-syntax |
host-file-system | in-package-presents |
io-error | make-compound-stream |
mount | new-page |
prin | profile |
profile-reset | profile-results |
profilef | profilef-reset |
profilef-results | quit |
read-canonize | read-canonize-function |
read-lisp-line | read-object |
rubout | save-image |
set-char-name | set-file-length |
set-gc-config | set-read-canonize-function |
set-syntax | setenv |
simple-stream-p | spaces |
stream-device | stream-location |
tab | total-space |
tracef | trap-exits |
unbreakpoint | unbreakpointf |
unmount | unprofile |
unprofilef | untracef |
unwind-stack | with-added-methods |
write-object |
Some of the items above are like existing ACL 5.0 facilities:
ACLWin item | similar ACL 5.0 functionality |
---|---|
*application-directory* | sys:command-line-arguments |
*command-line* | sys:command-line-arguments |
*case-sensitive-intern* | excl:set-case-mode |
*read-case* | excl:set-case-mode |
*compiler-warnings* | the CL condition system |
*print-shared* | common-lisp:*print-circle* |
*session-exit-fns* | sys:*exit-cleanup-forms* |
*session-init-fns* | *restart-init-function* and *restart-app-function* |
*session-variables* | *restart-init-function* and *restart-app-function* |
*top-print-length* | tpl:*print-length* |
*top-print-level* | tpl:*print-level* |
*warn-on-protected-class-redefinition* | redefinition warning facility |
*warn-on-protected-function-redefinition* | redefinition warning facility |
*warn-on-protected-generic-function-redefinition* | redefinition warning facility |
*warn-on-redefinition* | redefinition warning facility |
*daylight-saving-time* | *daylight-saving-time-observed* |
eof-p | read and listen |
io-error | the CL condition system |
profile | the ACL profiler |
profile-reset | the ACL profiler |
profile-results | the ACL profiler |
profilef | the ACL profiler |
profilef-reset | the ACL profiler |
profilef-results | the ACL profiler |
save-image | excl:dumplisp |
unprofilef | the ACL profiler |
unprofile | the ACL profiler |
protect declaration | redefinition warning facility |
Unless otherwise noted, all the functionality presented in the compatibility package works on UNIX and well as Windows.
The following symbols have definitions in ACL 5.0 equivalent to that in ACLWin 3.0:
*break-on-warnings* | *print-structure* | *time-zone* | *trace-print-length* |
*trace-print-level* | +infinity | +zero | -infinity |
-zero | add-finalization | adjoinq | adjoinql |
always-bound | aset | assocq | assocql |
bignump | bit-zerop | bits-from-integer | buttail |
char-names | closed-stream-p | concatenate-lists | concatenate-strings |
concatenate-vectors | copy-array | copy-file | countq |
countql | create-directory | current-directory | define-setf-method |
degrees-to-radians | delete-directory | delete-duplicates-q | delete-duplicates-ql |
deleteq | deleteql | delimited-string-to-list | directory-exists-p |
displaced-array-p | eqcar | errorset | false |
fasl-read | fasl-write | file-archive-p | file-attributes |
file-directory-p | file-exists-p | file-hidden-p | file-normal-p |
file-read-only-p | file-system-p | file-temporary-p | findq |
findql | fixnump | for | gc |
generic-fboundp | generic-function-name | get-setf-method | get-setf-method-multiple-value |
getenv | i* | i+ | i- |
i/ | i/= | i1+ | i1- |
i< | i<= | i= | i> |
i>= | iabs | iceiling | idecf |
ievenp | ifloor | iincf | ilogand |
ilogandc1 | ilogandc2 | ilogbitp | ilogeqv |
ilogior | ilognand | ilognor | ilognot |
ilogorc1 | ilogorc2 | ilogtest | ilogxor |
imax | imin | iminusp | imod |
integer-from-bits | intersectionq | intersectionql | ioddp |
iplusp | irem | iround | isquare |
itruncate | izerop | lambda-list | lisp-copyright |
list-to-delimited-string | listify | macroexpand-all | make-quoted |
mapply | memberq | memberql | mfuncall |
name-readtable | nanp | natural-log-base | nbuttail |
nintersectionq | nintersectionql | nset-difference-q | nset-difference-ql |
nset-exclusive-or-q | nset-exclusive-or-ql | nsublisq | nsublisql |
nsubstituteq | nsubstituteql | nsubstq | nsubstql |
nunionq | nunionql | positionq | positionql |
protect | pushnewq | pushnewql | put |
quotep | radians-to-degrees | rassocq | rassocql |
readtable-name | remove-duplicates-q | remove-duplicates-ql | removeq |
removeql | room | sbit-zerop | select |
set-bit | set-char | set-current-directory | set-difference-q |
set-difference-ql | set-documentation | set-exclusive-or-q | set-exclusive-or-ql |
set-fill-pointer | set-lambda-list | set-macro-function | set-readtable-name |
set-sbit | set-schar | set-symbol-function | set-symbol-plist |
shorten-vector | signed-ldb | simple-array-p | special-form-p |
special-variable-p | square | sublisq | sublisql |
subsetpq | subsetpql | substituteq | substituteql |
substq | substql | svset | synonym-stream-p |
synonym-stream-stream | tree-equal-q | tree-equal-ql | true |
type-specifier-p | unionq | unionql | until |
user-name | while | whole-string-equal | whole-string-greaterp |
whole-string-lessp | whole-string-not-equal | whole-string-not-greaterp | whole-string-not-lessp |
whole-string/= | whole-string< | whole-string<= | whole-string= |
whole-string> | whole-string>= | win32p | windows-directory |
xor |
In addition, the following for loop keywords and options are available:
above | all-satisfy | append | below |
bound | by | car-filter | check-for-loop-var-count |
collect | collect-reversed | collect-vector | collect-vector-reversed |
count | do | downto | filter |
fixnum | for-exit | for-loop-macro | for-loop-syntax-error |
for-result | for-var-spec | from | in |
in-alist | in-array | in-hash-table | in-package |
in-package-externals | in-package-internals | in-package-presents | in-plist |
in-sequence | in-stream | in-string | in-structure |
in-vector | keep-first | keep-if | keep-unless |
max | min | nconc | none-satisfy |
not-all-satisfy | on | over-array | over-vector |
product | result | return-last | set-for-loop-macro |
some-satisfy | step | sum | to |
unless | when |
The following functions work only on Windows (they signal an error on UNIX):
file-read-only-p | file-hidden-p | file-system-p | file-archive-p |
file-normal-p | file-attributes | windows-directory |
Misc notes on compatibility: