<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -81,3 +81,4 @@ id _nusymbol(const char *string);
 id _nunumberd(double d);
 id _nucell(id car, id cdr);
 id _nuregex(const char *pattern, int options);
+id _nulist(id firstObject,...);</diff>
      <filename>include/Nu/Nu.h</filename>
    </modified>
    <modified>
      <diff>@@ -316,6 +316,31 @@ id _nuregex(const char *pattern, int options)
     return [NuRegex regexWithPattern:_nustring(pattern) options:options];
 }
 
+id _nulist(id firstObject, ...)
+{
+    id list = nil;
+    id eachObject;
+    va_list argumentList;
+    if (firstObject) {
+        // The first argument isn't part of the varargs list,
+        // so we'll handle it separately.
+        list = [[[NuCell alloc] init] autorelease];
+        [list setCar:firstObject];
+        id cursor = list;
+        va_start(argumentList, firstObject);
+        // Start scanning for arguments after firstObject.
+        // As many times as we can get an argument of type &quot;id&quot;
+        // that isn't nil, add it to self's contents.
+        while ((eachObject = va_arg(argumentList, id))) {
+            [cursor setCdr:[[[NuCell alloc] init] autorelease]];
+            cursor = [cursor cdr];
+            [cursor setCar:eachObject];
+        }
+        va_end(argumentList);
+    }
+    return list;
+}
+
 @implementation Nu
 + (id&lt;NuParsing&gt;) parser
 {</diff>
      <filename>objc/nu.m</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>81af97297a14addea47dee1e5d19d76b1ed45a58</id>
    </parent>
  </parents>
  <author>
    <name>Tim Burks</name>
    <email>tim@neontology.com</email>
  </author>
  <url>http://github.com/timburks/nu/commit/51375eee53ff479f25acb5ed33c411277aef989d</url>
  <id>51375eee53ff479f25acb5ed33c411277aef989d</id>
  <committed-date>2008-04-01T17:15:35-07:00</committed-date>
  <authored-date>2008-04-01T17:15:35-07:00</authored-date>
  <message>Added helper function for creating lists from C.</message>
  <tree>667a20cb68d2f43b2809d791c10c4a75b8db540f</tree>
  <committer>
    <name>Tim Burks</name>
    <email>tim@neontology.com</email>
  </committer>
</commit>
