| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
Arguments: bool &key push pop
This function affects the behavior of
set-case-mode to convert, or not,
symbols with mixed upper and lower case characters when it is doing a
symbol name conversion operation. It also affects how symbols are
created during fasl file reading. If called with the required argument
t
,
set-case-mode will convert
mixed case symbols. If this function is called with the required
argument nil
,
set-case-mode will
not convert mixed-case symbols.
The initial value returned by this function, starting in release 6.0,
is t
. Note that in releases prior to 6.0, the
initial value was nil
.
Symbol name conversion is done for two reasons:
- When a call to set-case-mode requires it (when going between upper case and lower case preferred modes).
- When reading a fasl file compiled in a case mode other than the current case mode, and those case modes differ in whether upper case or lower case was the preferred mode.
convert-mixed-case-symbols returns the previous value of this switch.
Note that it is not easy to determine the currently in force value
using this function. To see the current value, look at the value of
the unexported variable
excl::*convert-mixed-case-symbols*
. Do not set the
value of that variable except by using this function, however.
This function is used automatically during (require
:winapi)
and (require :ole)
(both on Windows only)
since these modules intentionally contain symbols with mixed case.
The keyword arguments can be used to manage a private stack of
values for this function (the stack itself is not accessible
directly). If the keyword argument :push
is given a
true value, then the old value (i.e. the value
when this function is called) is pushed on the private stack kept for
this function. The call (excl::convert-mixed-case-symbols nil
:pop t)
restores the setting to the old value at the top of the
stack (and pops that value off the saved values stack). When
pop is specified true, the required argument is
ignored (since the new value comes off the stack).
See also case.htm and
*current-case-mode*
,
*ignore-package-name-case*
,
and set-case-mode.
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 |