Patch:    ivtools-140320-scott-007
For:      ivtools-1.2.11
Author:   scott@wavesemi.com
Subject:  support for ipl development

This is an intermediate patch to ivtools-1.2.11.  To apply, cd to the
top-level directory of the ivtools source tree (the directory with src
and config subdirs), and apply like this:

	patch -p0 <ThisFile

Then rebuild with "make;make install"


Index: src/ComUnidraw/grstrmfunc.h
===================================================================
--- src/ComUnidraw/grstrmfunc.h	(revision 8399)
+++ src/ComUnidraw/grstrmfunc.h	(revision 8411)
@@ -37,7 +37,7 @@
 
     virtual void execute();
     virtual const char* docstring() { 
-      return "strm=%s(ostrm|list|attrlist|compview) -- copy stream or convert list"; }
+      return "strm=%s(ostrm|list|attrlist|compview) -- copy stream or convert list (unary $)"; }
 
     CLASS_SYMID("GrStreamFunc");
 
Index: src/ComTerp/listfunc.h
===================================================================
--- src/ComTerp/listfunc.h	(revision 8399)
+++ src/ComTerp/listfunc.h	(revision 8411)
@@ -45,7 +45,7 @@
     virtual void execute();
     virtual boolean post_eval() { return true; }
     virtual const char* docstring() { 
-      return "lst=%s([olst|strm|val] :strmlst :attr :size n) -- create list, copy list, or convert stream"; }
+      return "lst=%s([olst|strm|val] :strmlst :attr :size n) -- create list, copy list, or convert stream (unary $$)"; }
 };
 
 //: list member command for ComTerp.
Index: src/ComTerp/strmfunc.h
===================================================================
--- src/ComTerp/strmfunc.h	(revision 8399)
+++ src/ComTerp/strmfunc.h	(revision 8411)
@@ -50,7 +50,7 @@
     virtual void execute();
     virtual boolean post_eval() { return true; }
     virtual const char* docstring() { 
-      return "strm=%s(ostrm|list|attrlist) -- copy stream or convert list"; }
+      return "strm=%s(ostrm|list|attrlist) -- copy stream or convert list (unary $)"; }
 
     CLASS_SYMID("StreamFunc");
 
Index: src/ComTerp/comterp.c
===================================================================
--- src/ComTerp/comterp.c	(revision 8399)
+++ src/ComTerp/comterp.c	(revision 8411)
@@ -686,9 +686,11 @@
   if (curr.is_type(ComValue::KeywordType)) {
     cerr << "unexpected keyword found by ComTerp::skip_arg\n";
     return false;
+#if 0
   } else if (curr.is_type(ComValue::UnknownType)) {
-    cerr << "unexpected unknown found by ComTerp::skip_arg\n";
+    cerr << "unexpected nil found by ComTerp::skip_arg\n";
     return false;
+#endif
   } else if (curr.is_type(ComValue::BlankType)) {
     if (offlimit == offset) {
       cerr << "offlimit hit by ComTerp::skip_arg\n";
Index: src/man/man1/comterp.1
===================================================================
--- src/man/man1/comterp.1	(revision 8399)
+++ src/man/man1/comterp.1	(revision 8411)
@@ -92,7 +92,6 @@
     ---------  ------------   --------    -----       ----
     .          dot            130         R-to-L      binary
     `          bquote         125         R-to-L      unary-prefix
-    $          stream         125         R-to-L      unary-prefix
     !          negate         110         R-to-L      unary-prefix
     ~          bit_not        110         R-to-L      unary-prefix
     ++         incr           110         R-to-L      unary-prefix
@@ -122,6 +121,8 @@
     ||         or             40          L-to-R      binary
     ,          tuple          35          L-to-R      binary
     ,,         stream concat  33          L-to-R      binary
+    $          stream         32          R-to-L      unary-prefix
+    $$         list           32          R-to-L      unary-prefix
     %=         mod_assign     30          R-to-L      binary
     *=         mpy_assign     30          R-to-L      binary
     +=         add_assign     30          R-to-L      binary
Index: src/ComUtil/optable.c
===================================================================
--- src/ComUtil/optable.c	(revision 8399)
+++ src/ComUtil/optable.c	(revision 8411)
@@ -101,7 +101,6 @@
   {" ",          "space",              140,        FALSE,      OPTYPE_BINARY },
   {".",          "dot",                130,        FALSE,      OPTYPE_BINARY },
   {"`",          "bquote",             125,        TRUE,       OPTYPE_UNARY_PREFIX },
-  {"$",          "stream",             125,        TRUE,       OPTYPE_UNARY_PREFIX },
   {"!",          "negate",             110,        TRUE,       OPTYPE_UNARY_PREFIX },
   {"~",          "bit_not",            110,        TRUE,       OPTYPE_UNARY_PREFIX },
   {"++",         "incr",               110,        TRUE,       OPTYPE_UNARY_PREFIX },
@@ -131,6 +130,8 @@
   {"||",         "or",                 40,         FALSE,      OPTYPE_BINARY },
   {",",          "tuple",              35,         FALSE,      OPTYPE_BINARY },
   {",,",         "concat",             33,         FALSE,      OPTYPE_BINARY },
+  {"$",          "stream",             32,         TRUE,       OPTYPE_UNARY_PREFIX },
+  {"$$",         "list",               32,         TRUE,       OPTYPE_UNARY_PREFIX },
   {"%=",         "mod_assign",         30,         TRUE,       OPTYPE_BINARY },
   {"*=",         "mpy_assign",         30,         TRUE,       OPTYPE_BINARY },
   {"+=",         "add_assign",         30,         TRUE,       OPTYPE_BINARY },
Index: src/comterp_/README
===================================================================
--- src/comterp_/README	(revision 8399)
+++ src/comterp_/README	(revision 8411)
@@ -81,7 +81,6 @@
     ---------     ------------         --------    -----       ----
     .             dot                  130         L-to-R      binary
     `             bquote               125         R-to-L      unary-prefix
-    $             stream               125         R-to-L      unary-prefix
     !             negate               110         R-to-L      unary-prefix
     ~             bit_not              110         R-to-L      unary-prefix
     ++            incr                 110         R-to-L      unary-prefix
@@ -111,6 +110,8 @@
     ||            or                   40          L-to-R      binary
     ,             tuple                35          L-to-R      binary
     ,,            stream concat        33          L-to-R      binary
+    $             stream               32          R-to-L      unary-prefix
+    $$            list                 32          R-to-L      unary-prefix
     %=            mod_assign           30          R-to-L      binary
     *=            mpy_assign           30          R-to-L      binary
     +=            add_assign           30          R-to-L      binary
