<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE TIP SYSTEM "http://www.tcl.tk/cgi-bin/tct/tip/tipxml.dtd">
<!-- Converted at Thu May 17 03:53:45 GMT 2012 -->
<!-- TIP AutoGenerator - written by Donal K. Fellows -->

<TIP number='293'>
<header><title>Argument Expansion with Leading {*}</title><author address="mailto:msofer@users.sourceforge.net">Miguel Sofer</author><status type='project' state='final' tclversion="8.5" vote='after'>$Revision: 1.4 $</status><history></history><created day='2' month='nov' year='2006' /><obsoletes tip='157'/></header>
<abstract>Tcl shall use <emph style="bold">{*}</emph> to denote argument expansion, replacing the current <emph style="bold">{expand}</emph>.</abstract>
<body><section title="Rationale">
<para>There seems to be a consensus that the functionality of <emph style="bold">{expand}</emph> is exactly what was needed, but the syntax could be nicer. The problem, both back in 2003 and today, is that there is no general agreement on which is the best one. However, the issue of ugliness is regularly revived in the mailing lists so it is not going away soon. Moreover, an alpha release in a popular distribution allows the use of <emph style="bold">{}</emph> instead of <emph style="bold">{expand}</emph>.</para>
<para>A compromise solution, <emph style="bold">{*}</emph>, is less verbose and &quot;ugly&quot; than <emph style="bold">{expand}</emph>, and less prone to typographical errors than plain <emph style="bold">{}</emph>. It is inspired using the mnemonic that the character &quot;*&quot; is already used to denote &quot;all items&quot; in other contexts.</para>
</section>
<section title="Detailed Proposal">
<para>After two years experience with <emph style="bold">{expand}</emph>, this TIP proposes the following amendment to <tipref type="text" tip="157"/>:</para>
<enumerate><item.e index='1'><para>The officially sanctioned expansion syntax will henceforth be <emph style="bold">{*}</emph>, in replacement of the previous <emph style="bold">{expand}</emph>.</para></item.e><item.e index='2'><para>The usage of both <emph style="bold">{expand}</emph> and <emph style="bold">{}</emph> will be deprecated.</para></item.e><item.e index='3'><para>This is a syntax-only change.</para></item.e></enumerate>
</section>
<section title="Compatibility">
<para>Note that this TIP removes <emph style="bold">{expand}</emph> and <emph style="bold">{}</emph> as prefix-syntax, which will break code that users might already have in production based off earlier alpha release of 8.5.</para>
</section>
<section title="Copyright">
<para>This document has been placed in the public domain.</para>
</section>
</body></TIP>

