Macro | Package: excl | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## compose-string

Arguments: &rest args

This macro implements a convenient notation for representing a character string containing characters that may be difficult to edit into a source code file. The value is a string that is concatenated from the string form of the arguments:

- A string: The string is inserted verbatim into the result string.
- A character: The character is inserted verbatim.
- An integer: If the integer is in the 16-bit Unicode range, insert the corresponding Unicode character. If the integer is in the high Unicode range, insert the two corresponding surrogate characters. Otherwise signal an error.
- :[ -- The arguments following this argument up to an occurrence of :] are converted to hexadecimal character codes and the corresponding characters are inserted.

  The sequence `:[ aa bb 20 e3b4 10a234 :]` denotes the 6 characters: four with character codes #xaa #xbb #x20 #xe3b4 and the two surrogate characters needed to represent the Unicode code point #x10a234.

- :eval: The following argument is an expression that will be evaluated to compute a string or character component of the result string.
- A symbol: If the name of the symbol is a single character, that character is inserted; otherwise, the symbol is treated as the name of a character and the named character is inserted.

If there are no occurrences of the `:eval` argument, the result emitted by the macro is a constant string. If the `:eval` argument is used, the macro emits a call to the compose-string-fn function.

See iacl.htm for more information on international characters and external formats.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version