Package: system

Arguments: file &body body

Like record-code-vectors, sys:record-strings provides a mechanism for building input to the cvdcvt program, which creates .pll files (see Creating and using pll files in miscellaneous.htm). The specified file is opened for writing. It should have type .str. All strings that are seen as constants during load carried out in the body are written to this .str file. Also, any strings that are seen in pure-string calls in the body are also written to the .str file.

The body of the macro should perform some system building activity, like loading in fasl files. Any load-time execution can also make a string look like a constant by calling pure-string. Symbol-names are not automatically added to the .str file; The following paradigm should be used as one of the forms inside the body:

(do-symbols (sym (find-package :my-package)) 
(excl:maybe-purify-string (symbol-name sym)))

This reduction of automation was done purely as an optimization, to minimize the number of strings that are written to the .str file, since symbol-names show up so often in fasl files. When the symbol-name is later encountered in a fasl file being loaded into a Lisp that already has a .pll file, the pure name is automatically used.

The documentation is described in introduction.htm and the index is in index.htm.

Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.

Created 2000.10.5.