$Revision: 1.2 $
This document was provided to users of Allegro CL release 5.0/5.0.1 to assist in porting Allegro CL 3.0.1 for Windows applications to the new release. We provide it, essentially unedited, for any users of release 6.0 who might need it.
The document ../introduction.htm provides an overview of the Allegro CL documentation with links to all major documents. The document index.htm is an index with pointers to every documented object (operators, variables, etc.) The revision number of this document is below the title. These documents may be revised from time to time between releases.
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.
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 porting.hlp.
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 (see Package locking and package definition locking in packages.htm) |
*warn-on-protected-function-redefinition* | redefinition warning facility (see Package locking and package definition locking in packages.htm) |
*warn-on-protected-generic-function-redefinition* | redefinition warning facility (see Package locking and package definition locking in packages.htm) |
*warn-on-redefinition* | redefinition warning facility (see Package locking and package definition locking in packages.htm) |
*daylight-saving-time* | *daylight-saving-time-observed* |
eof-p | read and listen |
io-error | the CL condition system |
profile | the ACL profiler (see profiling.htm) |
profile-reset | the ACL profiler (see profiling.htm) |
profile-results | the ACL profiler (see profiling.htm) |
profilef | the ACL profiler (see profiling.htm) |
profilef-reset | the ACL profiler (see profiling.htm) |
profilef-results | the ACL profiler (see profiling.htm) |
save-image | excl:dumplisp |
unprofilef | the ACL profiler (see profiling.htm) |
unprofile | the ACL profiler (see profiling.htm) |
protect declaration | redefinition warning facility (see Package locking and package definition locking in packages.htm) |
Unless otherwise noted, all the functionality presented in the compatibility package works on UNIX as 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: