Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 ivtools (1.2.11a2-2) unstable; urgency=medium
 .
   * track upstream changes (minor bug fix for duck issue)
   * bump policy
   * bump debhelper version
Author: Barak A. Pearlmutter <bap@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2019-01-22

--- ivtools-1.2.11a2.orig/src/ComTerp/boolfunc.h
+++ ivtools-1.2.11a2/src/ComTerp/boolfunc.h
@@ -91,7 +91,7 @@ public:
 
 //: != (non-equality) operator.
 // also useful for partial string comparison with :n keyword.
-// neq("string1" "string2" :n 6) returns false.
+// not_eq("string1" "string2" :n 6) returns false.
 // also useful for symbol comparison with :sym keyword.
 class NotEqualFunc : public NumFunc {
 public:
@@ -99,7 +99,7 @@ public:
 
     virtual void execute();
     virtual const char* docstring() { 
-      return "!= is the not-equal operator\nbool=neq(str1 str2 :n len) -- partial string comparison\nbool=neq(sym1 sym2 :sym) -- symbol comparison"; }
+      return "!= is the not-equal operator\nbool=not_eq(str1 str2 :n len) -- partial string comparison\nbool=not_eq(sym1 sym2 :sym) -- symbol comparison"; }
 
 };
 
--- ivtools-1.2.11a2.orig/src/ComTerp/iofunc.cc
+++ ivtools-1.2.11a2/src/ComTerp/iofunc.cc
@@ -49,7 +49,11 @@ FileObj::FileObj(const char* filename, c
   _filename = strnew(filename);
   _mode = strnew(mode);
   _pipe = pipeflag;
-  _fptr = _pipe ? popen(filename, mode) : fopen(filename, mode);
+  if (strcmp(filename,"-")!=0 ) { 
+    _fptr = _pipe ? popen(filename, mode) : fopen(filename, mode);
+  } else {
+    _fptr = stdin;
+  }
 }
 
 FileObj::FileObj(FILE* fptr) {
@@ -60,7 +64,7 @@ FileObj::FileObj(FILE* fptr) {
 }
 
 FileObj::~FileObj() { 
-  if( _fptr && _filename) _pipe ? pclose(_fptr) : fclose(_fptr);
+  if( _fptr && _fptr!=stdin && _filename) _pipe ? pclose(_fptr) : fclose(_fptr);
   delete _filename;
   delete _mode;
 }
--- ivtools-1.2.11a2.orig/src/ComTerp/symbolfunc.cc
+++ ivtools-1.2.11a2/src/ComTerp/symbolfunc.cc
@@ -303,7 +303,7 @@ void SplitStrFunc::execute() {
         int delim1=0;
         while(*str && isspace(*str) || *str==delim) {
           if (*str==delim) {
-            if ((delim1 || avl->Number()==0) && !isspace(delim) ) {
+            if ((delim1 || avl->Number()==0) && delim!=' ') {
 	      if (keepflag) {
 		ComValue* comval = new ComValue(delimstr);
 		if (reverseflag) 
--- ivtools-1.2.11a2.orig/src/ComUnidraw/grfunc.cc
+++ ivtools-1.2.11a2/src/ComUnidraw/grfunc.cc
@@ -1330,7 +1330,7 @@ TransformerFunc::TransformerFunc(ComTerp
 void TransformerFunc::execute() {
     
     ComValue objv(stack_arg(0));
-    ComValue transv(stack_arg(0));
+    ComValue transv(stack_arg(1));
     reset_stack();
     if (objv.object_compview()) {
       ComponentView* compview = (ComponentView*)objv.obj_val();
@@ -1379,6 +1379,7 @@ void TransformerFunc::execute() {
 
 	    Transformer t(a00, a01, a10, a11, a20, a21);
 	    *gr->GetTransformer()=t;
+	    comp->Notify();
 
 	    ComValue compval(new OverlayViewRef(comp), comp->class_symid());
 	    push_stack(compval);
