? 902644.patch
Index: forms_api_reference.html
===================================================================
RCS file: /cvs/drupal-contrib/contributions/docs/developer/topics/forms_api_reference.html,v
retrieving revision 1.137
diff -u -r1.137 forms_api_reference.html
--- forms_api_reference.html	22 Jul 2010 23:41:35 -0000	1.137
+++ forms_api_reference.html	13 Oct 2010 22:42:33 -0000
@@ -61,6 +61,7 @@
       <th scope="col"><a href="#date">date</a></th>
       <th scope="col"><a href="#fieldset">fieldset</a></th>
       <th scope="col"><a href="#file">file</a></th>
+      <th scope="col"><a href="#machine_name">machine_name</a></th>
       <th scope="col"><a href="#managed_file">managed_file</a></th>
       <th scope="col"><a href="#password">password</a></th>
       <th scope="col"><a href="#password_confirm">password_confirm</a></th>
@@ -81,6 +82,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -100,6 +102,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -119,6 +122,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -139,6 +143,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -160,6 +165,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -179,7 +185,8 @@
 <!-- checkboxes --> <td class="x"><strong>X</strong></td>
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
-<!-- file --> <td class="x"><strong>X</strong></td>
+<!-- file --> <td>-</td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -199,6 +206,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -218,6 +226,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -237,6 +246,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -256,6 +266,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -275,6 +286,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -294,6 +306,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -313,6 +326,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -332,6 +346,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -351,6 +366,7 @@
 <!-- date --> <td><strong>-</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -370,6 +386,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -389,6 +406,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -408,6 +426,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -427,6 +446,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -446,6 +466,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -465,6 +486,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -484,6 +506,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -503,6 +526,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -522,6 +546,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -541,6 +566,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -560,6 +586,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -579,6 +606,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -598,6 +626,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -617,6 +646,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -636,6 +666,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -654,7 +685,8 @@
 <!-- checkboxes --> <td class="x"><strong>X</strong></td>
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
-<!-- file --> <td>-</td>
+<!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -674,6 +706,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -693,6 +726,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -712,6 +746,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -731,6 +766,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td>-</td>
@@ -750,6 +786,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -769,6 +806,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -788,6 +826,7 @@
 <!-- date --> <td>-</td>
 <!-- fieldset --> <td>-</td>
 <!-- file --> <td>-</td>
+<!-- machine_name --> <td>-</td>
 <!-- managed_file --><td>-</td>
 <!-- password --> <td>-</td>
 <!-- password_confirm --> <td>-</td>
@@ -807,6 +846,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -826,6 +866,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -845,6 +886,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -864,6 +906,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -883,6 +926,7 @@
 <!-- date --> <td class="x"><strong>X</strong></td>
 <!-- fieldset --> <td class="x"><strong>X</strong></td>
 <!-- file --> <td class="x"><strong>X</strong></td>
+<!-- machine_name --> <td class="x"><strong>X</strong></td>
 <!-- managed_file --><td class="x"><strong>X</strong></td>
 <!-- password --> <td class="x"><strong>X</strong></td>
 <!-- password_confirm --> <td class="x"><strong>X</strong></td>
@@ -1710,6 +1754,63 @@
 </span> <span class="b-txt">?&gt;</span></span></code></p>
 </div>
 
+<h3><a name="machine_name" id="machine_name">machine_name</a></h3>
+
+<p><strong>Description</strong>: Provides a unique machine-readable name.</p>
+
+<p>By default provides a machine name that is validated such that it contains only alphanumeric and '_'. All characters not meeting this criteria are replaced with '_'. The validation routines also fail if the element value is comprised solely of '_'.</p>
+
+<p><strong>Non-standard form element properties</strong>:</p>
+<ul>
+<li>#machine_name: (array) 
+  <ul>
+    <li>exists: A function name to invoke for checking whether a submitted machine name value already exists. The submitted value is passed as argument. In most cases, an existing API or menu argument function can be re-used. The callback is only invoked, if the submitted value differs from the element's #default_value</li>
+    <li>source: (optional) The #array_parents of the form element containing the human-readable name (i.e., as contained in the $form structure) to use as source for the machine name. Defaults to array('name').</li>
+    <li>label: (optional) A text to display as label for the machine name value after the human-readable name form element. Defaults to "Machine name".</li>
+    <li>replace_pattern: (optional) A regular expression (without delimiters) matching disallowed characters in the machine name. Defaults to '[^a-z0-9_]+'.</li>
+    <li>replace: (optional) A character to replace disallowed characters in the machine name via JavaScript. Defaults to '_' (underscore). When using a different character, 'replace_pattern' needs to be set accordingly.</li>
+  </ul>
+</li>
+</ul>
+
+<p><strong>Properties</strong>: <a href="#access">#access</a>, <a href="#after_build">#after_build</a>, <a href="#array_parents">#array_parents</a>, <a href="#attached">#attached</a>, <a href="#description">#description</a>, <a href="#disabled">#disabled</a>,
+<a href="#element_validate">#element_validate</a>, <a href="#parents">#parents</a>,
+<a href="#post_render">#post_render</a>, <a href="#prefix">#prefix</a>,
+<a href="#pre_render">#pre_render</a>, <a href="#process">#process</a>,
+<a href="#required">#required</a>, <a href="#states">#states</a>,
+<a href="#suffix">#suffix</a>, <a href="#theme">#theme</a>, <a href="#theme_wrappers">#theme_wrappers</a>,
+<a href="#title">#title</a>, <a href="#tree">#tree</a>,
+<a href="#type">#type</a>
+<a href="#weight">#weight</a></p>
+
+
+<p><strong>Usage example</strong> (<a href="http://api.drupal.org/api/head/file/modules/menu/menu.admin.inc">menu.admin.inc</a>):</p>
+
+<div class="codeblock"><code><span class="def-txt">
+  &lt;?php<br />
+  <span class="b-txt">$form</span><span class="g-txt">[</span><span class="r-txt">'menu_name'</span><span class="g-txt">]</span> = <span class="g-txt">array(</span><br />
+  &nbsp;&nbsp;<span class="r-txt">'#type'</span> <span class="g-txt">=&gt;</span> <span class="r-txt">'machine_name'</span><span class="g-txt">,</span><br />
+  &nbsp;&nbsp;<span class="r-txt">'#title'</span> <span class="g-txt">=&gt;</span> <span class="b-txt">t</span><span class="g-txt">(</span><span class="r-txt">'Menu name'</span><span class="g-txt">),</span><br />
+  &nbsp;&nbsp;<span class="r-txt">'#default_value'</span> <span class="g-txt">=&gt;</span> <span class="b-txt">$menu</span><span class="g-txt">[</span><span class="r-txt">'menu_name'</span><span class="g-txt">],</span><br />
+  &nbsp;&nbsp;<span class="r-txt">'#maxlength'</span> <span class="g-txt">=&gt;</span> <span class="b-txt">MENU_MAX_MENU_NAME_LENGTH_UI</span><span class="g-txt">,</span><br />
+  &nbsp;&nbsp;<span class="r-txt">'#description'</span> <span class="g-txt">=&gt;</span> <span class="b-txt">t</span><span class="g-txt">(</span><span class="r-txt">'A unique name to construct the URL for the menu. It must only contain lowercase letters, numbers and hyphens.'</span><span class="g-txt">),</span><br />
+  &nbsp;&nbsp;<span class="r-txt">'#machine_name'</span> <span class="g-txt">=&gt;</span> <span class="g-txt">array(</span><br />
+  &nbsp;&nbsp;&nbsp;&nbsp;<span class="r-txt">'exists'</span> <span class="g-txt">=&gt;</span> <span class="r-txt">'menu_edit_menu_name_exists'</span><span class="g-txt">,</span><br />
+  &nbsp;&nbsp;&nbsp;&nbsp;<span class="r-txt">'source'</span> <span class="g-txt">=&gt;</span> <span class="g-txt">array(</span><span class="r-txt">'title'</span><span class="g-txt">),</span><br />
+  &nbsp;&nbsp;&nbsp;&nbsp;<span class="r-txt">'label'</span> <span class="g-txt">=&gt;</span> <span class="b-txt">t</span><span class="g-txt">(</span><span class="r-txt">'URL path'</span><span class="g-txt">),</span><br />
+  &nbsp;&nbsp;&nbsp;&nbsp;<span class="r-txt">'replace_pattern'</span> <span class="g-txt">=&gt;</span> <span class="r-txt">'[^a-z0-9-]+'</span><span class="g-txt">,</span><br />
+  &nbsp;&nbsp;&nbsp;&nbsp;<span class="r-txt">'replace'</span> <span class="g-txt">=&gt;</span> <span class="r-txt">'-'</span><span class="g-txt">,</span><br />
+  &nbsp;&nbsp;<span class="g-txt">),</span><br />
+  &nbsp;&nbsp;// A menu's machine name cannot be changed.<br />
+  &nbsp;&nbsp;<span class="r-txt">'#disabled'</span> =&gt; !<span class="b-txt">empty</span>(<span class="b-txt">$menu</span>[<span class="r-txt">'old_name'</span>]) || <span class="b-txt">isset</span>(<span class="b-txt">$system_menus</span>[<span class="b-txt">$menu</span>[<span class="r-txt">'menu_name'</span>]])<span class="g-txt">,</span><br />
+  <span class="g-txt">);</span><br />
+  ?&gt;<br />
+</span></code>
+</div>
+
+<!-- End machine_name_element -->
+
+
 <h3><a name="managed_file" id="managed_file">managed_file</a></h3>
 
 <p><strong>Description</strong>: Provides a complete ajax/progress aware widget for uploading a file and saving it to the {files} table.</p>
@@ -3524,7 +3625,7 @@
 element.</p>
 
 <p><strong>Values</strong>: <a href="#button">button</a>, <a href="#checkbox">checkbox</a>, <a href="#checkboxes">checkboxes</a>, <a href="#date">date</a>, <a href="#fieldset">fieldset</a>, <a href="#file">file</a>, <a href="#form">form</a>, <a href="#hidden">hidden</a>,
-<a href="#image_button">image_button</a>, <a href="#item">item</a>, <a href="#markup">markup</a>, <a href="#password">password</a>, <a href="#password_confirm">password_confirm</a>, <a href="#radio">radio</a>,
+<a href="#image_button">image_button</a>, <a href="#item">item</a>, <a href="#machine_name">machine_name</a>, <a href="#markup">markup</a>, <a href="#password">password</a>, <a href="#password_confirm">password_confirm</a>, <a href="#radio">radio</a>,
 <a href="#radios">radios</a>, <a href="#select">select</a>, <a href="#submit">submit</a>, <a href="#tableselect">tableselect</a>, <a href="#textarea">textarea</a>, <a href="#textfield">textfield</a>, <a href="#token">token</a>, <a href="#val">value</a>, <a href="#vertical_tabs">vertical_tabs</a>, <a href="#weight">weight</a></p>
 
 <p><strong>Usage example</strong> (<a href="http://api.drupal.org/api/file/modules/locale/locale.module">locale.module</a>):</p>
