Suppresses the impl_prototype , write the $_{impl_definition}$to block , write docstring_prototype , methoddef_define , and parser_prototype to two-pass , write everything else to$_{buffer}$. partial-buffer Similar to the buffer preset, but writes more things to block , only writing the really big chunks of generated code to$_{buffer}$. This avoids the definition-before-use problem of $_{buffer}$completely, at the small cost of having slightly more stuff in the block’s output. Dump the$_{buffer}$near the end, just like you would when using the$_{buffer}$preset. Suppresses the impl_prototype , write the docstring_definition and parser_definition to buffer , write everything else to block . The third new directive is$_{destination}$: destination <name> <command> [...] This performs an operation on the destination named$_{name}$. There are two defined subcommands: $_{new}$and$_{clear}$ . The$_{new}$subcommand works like this: destination <name> new <type> This creates a new destination with name$_{<name>}$ and type$_{<type>}$ . There are five destination types: The$_{clear}$subcommand works like this: destination <name> clear It removes all the accumulated text up to this point in the destination. (I don’t know what you’d need this for, but I thought maybe it’d be useful while someone’s experimenting.) The fourth new directive is$_{set}$: set line_prefix "string" set line_suffix "string" 21 $_{suppress}$Throws the text away. $_{block}$Writes the text to the current block. This is what Clinic originally did. $_{buffer}$A simple text buffer, like the “buffer” builtin destination above. {path} The full path to the file, including directory and full filename. file A text file. The file destination takes an extra argument, a template to use for building the file- name, like so: destination <name> new <type> <file_template> {dirname} The name of the directory the file is in. {basename} Just the name of the file, not including the directory. {basename_root} Basename with the extension clipped off (everything up to but not including the last ‘.’). {basename_extension} The last ‘.’ and everything after it. If the basename does not contain a period, this will be the empty string. The template can use three strings internally that will be replaced by bits of the filename: If there are no periods in the filename, {basename} and {filename} are the same, and {extension} is empty. “{basename}{extension}” is always exactly the same as “{filename}”.” two-pass A two-pass buffer, like the “two-pass” builtin destination above.