@ 260915.5

210110.1 · fb90034cd31eed602b1c70ce5752e0ce667491b2

released 3.1.2 - Windows command line globbing fix

reading declarations

README.md

@@ -172,7 +172,7 @@ Table of contents Download and install -------------------- -### MacOS+### Homebrew for MacOS (and Linux)  Install the latest **ugrep** with [Homebrew](https://brew.sh): @@ -4601,7 +4601,7 @@ in markdown:   -    ugrep 3.1.1                    December 21, 2020                      UGREP(1)+    ugrep 3.1.2                    January 08, 2021                       UGREP(1)  🔝 [Back to table of contents](#toc) 

bin/win32/ugrep.exe

Binary file changed

bin/win64/ugrep.exe

Binary file changed

include/reflex/absmatcher.h

@@ -1099,6 +1099,13 @@ class AbstractMatcher {     }     return buf_ + end_;   }+  /// Returns the number of bytes in the buffer available to search from the current begin()/text() position.+  size_t avail()+  {+    if (peek() == EOF)+      return 0;+    return end_ - (txt_ - buf_);+  }   /// Returns the byte offset of the match from the start of the line.   size_t border()     /// @returns border offset

man/ugrep.1

@@ -1,4 +1,4 @@-.TH UGREP "1" "December 21, 2020" "ugrep 3.1.1" "User Commands"+.TH UGREP "1" "January 08, 2021" "ugrep 3.1.2" "User Commands" .SH NAME \fBugrep\fR, \fBug\fR -- file pattern searcher .SH SYNOPSIS

src/query.cpp

@@ -1265,11 +1265,6 @@ void Query::query_ui() // start a new search, stop the previous search when still running void Query::search() {-  row_ = 0;-  rows_ = 0;-  skip_ = 0;-  dots_ = 6; // to clear screen after 300ms-   if (!eof_)   {     close(search_pipe_[0]);@@ -1280,8 +1275,6 @@ void Query::search()     cancel_ugrep();   } -  error_ = -1;- #ifdef OS_WIN    hPipe_ = nonblocking_pipe(search_pipe_);@@ -1310,11 +1303,26 @@ void Query::search()  #endif -  eof_ = false;-   if (search_thread_.joinable())+  {+    if (error_ == -1 && rows_ < row_ + Screen::rows - 1)+    {+      Screen::normal();+      Screen::invert();+      Screen::put(rows_ - row_ + 1, 0, "Restart");+      Screen::normal();+      Screen::erase();+    }+     search_thread_.join();+  } +  eof_ = false;+  row_ = 0;+  rows_ = 0;+  skip_ = 0;+  dots_ = 6; // to clear screen after 300ms+  error_ = -1;   arg_pattern = globbing_ ? temp_ : line_;    if (deselect_file_)@@ -2397,8 +2405,9 @@ bool Query::help()   Screen::clear();   redraw(); -  bool ctrl_q = false;-  bool ctrl_o = false;+  bool ctrl_q  = false; // CTRL-Q is pressed+  bool ctrl_o  = false; // CTRL-O is pressed+  bool restart = false; // META key pressed, restart search when exiting the help screen    while (true)   {@@ -2435,6 +2444,7 @@ bool Query::help()     {       meta(key);       ctrl_o = false;+      restart = true;     }     else if (key == VKey::CTRL_Q)     {@@ -2478,12 +2488,14 @@ bool Query::help()          case VKey::META:           meta(VKey::get());+          restart = true;           break;          default:           if (key < 0x80)           {             meta(key);+            restart = true;           }           else           {@@ -2505,7 +2517,12 @@ bool Query::help()   message_ = false;    Screen::clear();-  redraw();++  if (restart)+  {+    draw();+    search();+  }    return ctrl_q; }@@ -2523,7 +2540,11 @@ void Query::meta(int key)       flags_[17].flag = false;       flags_[30].flag = false; -      search();+      // search when in QUERY mode, otherwise refresh HELP display+      if (mode_ == Mode::QUERY)+        search();+      else+        redraw();        std::string msg; @@ -2846,7 +2867,11 @@ void Query::meta(int key)           msg.append(fp->flag ? " \033[32;1mon\033[m" : " \033[31;1moff\033[m");         } -        search();+        // search when in QUERY mode, otherwise refresh HELP display+        if (mode_ == Mode::QUERY)+          search();+        else+          redraw();          message(msg); 

src/ugrep.cpp

@@ -67,7 +67,7 @@ After this, you may want to test ugrep and install it (optional): */  // ugrep version-#define UGREP_VERSION "3.1.1"+#define UGREP_VERSION "3.1.2"  // disable mmap because mmap is almost always slower than the file reading speed improvements since 3.0.0 #define WITH_NO_MMAP@@ -848,20 +848,17 @@ struct Grep {     // get the start of the before context, if present     void begin_before(reflex::AbstractMatcher& matcher, const char *buf, size_t len, size_t num, const char*& ptr, size_t& size, size_t& offset)     {+      ptr = NULL;+      size = 0;+      offset = 0;+       if (len == 0)-      {-        ptr = NULL;         return;-      }        size_t current = matcher.lineno();       size_t between = current - lineno; -      if (between <= 1)-      {-        ptr = NULL;-      }-      else+      if (between > 1)       {         const char *s = buf + len;         const char *e = s;@@ -2966,12 +2963,20 @@ struct Grep { #endif     } -    // -I: do not match binary+    // -I: do not match binary, check if the initial 16K of the file is binary     if (flag_binary_without_match)     {-      const char *eol = matcher->eol(); // warning: call eol() before bol()-      const char *bol = matcher->bol();-      if (is_binary(bol, eol - bol))+      size_t avail = matcher->avail();+      if (avail < 16384 && !input.eof())+      {+        // less than 16K available and not EOF, e.g. piped input, get until the first EOL to check+        matcher->eol();+        avail = matcher->avail();+      }+      // limit checking to first 16K of input to improve performance+      if (avail > 16384)+        avail = 16384;+      if (is_binary(matcher->begin(), avail))         return false;     } @@ -3528,31 +3533,27 @@ const Type type_table[] = {   { NULL,           NULL,                                                       NULL } }; +#ifdef OS_WIN+// ugrep main() for Windows to support wide string arguments and globbing+int wmain(int argc, const wchar_t **wargv)+#else // ugrep main() int main(int argc, const char **argv)+#endif {-#ifdef OS_WIN--  LPWSTR *argws = CommandLineToArgvW(GetCommandLineW(), &argc); -  if (argws == NULL)-    error("cannot parse command line arguments", "CommandLineToArgvW failed");+#ifdef OS_WIN    // store UTF-8 arguments for the duration of main() and convert Unicode command line arguments argws[] to UTF-8 arguments argv[]   std::vector<std::string> args;   args.resize(argc);+  const char **argv = new const char *[argc];   for (int i = 0; i < argc; ++i)   {-    args[i] = utf8_encode(argws[i]);+    args[i] = utf8_encode(wargv[i]);     argv[i] = args[i].c_str();   } -  LocalFree(argws);--#endif--#ifdef OS_WIN-   // handle CTRL-C   SetConsoleCtrlHandler(&sigint, TRUE); @@ -3605,6 +3606,12 @@ int main(int argc, const char **argv)     }   } +#ifdef OS_WIN++  delete argv;++#endif+   return warnings == 0 && Stats::found_any_file() ? EXIT_OK : EXIT_FAIL; } 

tests/archive.gz

Binary file changed

tests/archive.tar.zip

Binary file changed

tests/archive.tgz

Binary file changed

tests/archive.zip

Binary file changed

tests/out/Hello_-I-C2.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_-I-c.out

@@ -1,6 +1,6 @@ Hello.bat:2 Hello.class:0 Hello.java:7-Hello.pdf:134+Hello.pdf:0 Hello.sh:2 Hello.txt:1

tests/out/Hello_-I-co.out

@@ -1,6 +1,6 @@ Hello.bat:2 Hello.class:0 Hello.java:7-Hello.pdf:134+Hello.pdf:0 Hello.sh:2 Hello.txt:1

tests/out/Hello_-I-l.out

@@ -1,5 +1,4 @@ Hello.bat Hello.java-Hello.pdf Hello.sh Hello.txt

tests/out/Hello_-I-n.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_-I-nC2.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_-I-nkbT.out

@@ -7,7 +7,6 @@ Hello.java:     5:  1:    114:	  { System.out.println("Hello World!"); Hello.java:     6:  1:    154:	  } Hello.java:     7:  1:    158:	}-Hello.pdf:     1:  1:      0:	%PDF-1.3 Hello.sh:     1:  1:      0:	#!/bin/sh Hello.sh:     2:  1:     10:	echo "Hello World!" Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-nvy.out

@@ -7,7 +7,6 @@ Hello.java-5-  { System.out.println("Hello World!"); Hello.java-6-  } Hello.java-7-}-Hello.pdf-1-%PDF-1.3 Hello.sh-1-#!/bin/sh Hello.sh-2-echo "Hello World!" Hello.txt-1-Hello

tests/out/Hello_-I-ny.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_-I-o.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_-I-on.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_-I-onkbT.out

@@ -7,7 +7,6 @@ Hello.java:     5:  1:    114:	  { System.out.println("Hello World!"); Hello.java:     6:  1:    154:	  } Hello.java:     7:  1:    158:	}-Hello.pdf:     1:  1:      0:	%PDF-1.3 Hello.sh:     1:  1:      0:	#!/bin/sh Hello.sh:     2:  1:     10:	echo "Hello World!" Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-ounkbT.out

@@ -7,7 +7,6 @@ Hello.java:     5:  1:    114:	  { System.out.println("Hello World!"); Hello.java:     6:  1:    154:	  } Hello.java:     7:  1:    158:	}-Hello.pdf:     1:  1:      0:	%PDF-1.3 Hello.sh:     1:  1:      0:	#!/bin/sh Hello.sh:     2:  1:     10:	echo "Hello World!" Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-unkbT.out

@@ -7,7 +7,6 @@ Hello.java:     5:  1:    114:	  { System.out.println("Hello World!"); Hello.java:     6:  1:    154:	  } Hello.java:     7:  1:    158:	}-Hello.pdf:     1:  1:      0:	%PDF-1.3 Hello.sh:     1:  1:      0:	#!/bin/sh Hello.sh:     2:  1:     10:	echo "Hello World!" Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-vy.out

@@ -7,7 +7,6 @@ Hello.java-  { System.out.println("Hello World!"); Hello.java-  } Hello.java-}-Hello.pdf-%PDF-1.3 Hello.sh-#!/bin/sh Hello.sh-echo "Hello World!" Hello.txt-Hello

tests/out/Hello_-I-y.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_-I.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_-IP.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_-IPw.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_-Iw.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_Hello-I-c.out

@@ -1,6 +1,6 @@ Hello.bat:1 Hello.class:0 Hello.java:2-Hello.pdf:1+Hello.pdf:0 Hello.sh:1 Hello.txt:1

tests/out/Hello_Hello-I-co.out

@@ -1,6 +1,6 @@ Hello.bat:1 Hello.class:0 Hello.java:3-Hello.pdf:1+Hello.pdf:0 Hello.sh:1 Hello.txt:1

tests/out/Hello_Hello-I-cv.out

@@ -1,6 +1,6 @@ Hello.bat:1 Hello.class:0 Hello.java:5-Hello.pdf:133+Hello.pdf:0 Hello.sh:1 Hello.txt:0

tests/out/Hello_Hello-I-l.out

@@ -1,5 +1,4 @@ Hello.bat Hello.java-Hello.pdf Hello.sh Hello.txt

tests/out/Hello_Hello-I-n.out

@@ -1,6 +1,5 @@ Hello.bat:2:echo "Hello World!" Hello.java:3:public class Hello // prints a Hello World! greeting Hello.java:5:  { System.out.println("Hello World!");-Hello.pdf:85:(Hello) Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_Hello-I-nkbT.out

@@ -1,6 +1,5 @@ Hello.bat:     2:  7:     16:	echo "Hello World!" Hello.java:     3: 14:     34:	public class Hello // prints a Hello World! greeting Hello.java:     5: 25:    138:	  { System.out.println("Hello World!");-Hello.pdf:    85:  2:   5217:	(Hello) Hello.sh:     2:  7:     16:	echo "Hello World!" Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_Hello-I-nv.out

@@ -4,5 +4,4 @@ Hello.java:4:{ public static void main(String[] arg) Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh

tests/out/Hello_Hello-I-nvC2.out

@@ -7,6 +7,5 @@ Hello.java-5-  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh-2-echo "Hello World!"

tests/out/Hello_Hello-I-nvy.out

@@ -7,7 +7,6 @@ Hello.java-5-  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh-2-echo "Hello World!" Hello.txt-1-Hello

tests/out/Hello_Hello-I-ny.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java-6-  } Hello.java-7-}-Hello.pdf-1-%PDF-1.3 Hello.sh-1-#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_Hello-I-o.out

@@ -2,6 +2,5 @@ Hello.java:Hello Hello Hello.java:Hello-Hello.pdf:Hello Hello.sh:Hello Hello.txt:Hello

tests/out/Hello_Hello-I-on.out

@@ -2,6 +2,5 @@ Hello.java:3:Hello Hello Hello.java:5:Hello-Hello.pdf:85:Hello Hello.sh:2:Hello Hello.txt:1:Hello

tests/out/Hello_Hello-I-onkbT.out

@@ -2,6 +2,5 @@ Hello.java:     3: 14:     34:	Hello Hello Hello.java:     5: 25:    138:	Hello-Hello.pdf:    85:  2:   5217:	Hello Hello.sh:     2:  7:     16:	Hello Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_Hello-I-ounkbT.out

@@ -2,6 +2,5 @@ Hello.java:     3: 14:     34:	Hello Hello.java+     3+ 32+     52+	Hello Hello.java:     5: 25:    138:	Hello-Hello.pdf:    85:  2:   5217:	Hello Hello.sh:     2:  7:     16:	Hello Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_Hello-I-unkbT.out

@@ -2,6 +2,5 @@ Hello.java:     3: 14:     34:	public class Hello // prints a Hello World! greeting Hello.java+     3+ 32+     52+	public class Hello // prints a Hello World! greeting Hello.java:     5: 25:    138:	  { System.out.println("Hello World!");-Hello.pdf:    85:  2:   5217:	(Hello) Hello.sh:     2:  7:     16:	echo "Hello World!" Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_Hello-I-v.out

@@ -4,5 +4,4 @@ Hello.java:{ public static void main(String[] arg) Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh

tests/out/Hello_Hello-I-vC2.out

@@ -7,6 +7,5 @@ Hello.java-  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh-echo "Hello World!"

tests/out/Hello_Hello-I-vy.out

@@ -7,7 +7,6 @@ Hello.java-  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh-echo "Hello World!" Hello.txt-Hello

tests/out/Hello_Hello-I-y.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java-  } Hello.java-}-Hello.pdf-%PDF-1.3 Hello.sh-#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_Hello-I.out

@@ -1,6 +1,5 @@ Hello.bat:echo "Hello World!" Hello.java:public class Hello // prints a Hello World! greeting Hello.java:  { System.out.println("Hello World!");-Hello.pdf:(Hello) Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_Hello-IP.out

@@ -1,6 +1,5 @@ Hello.bat:echo "Hello World!" Hello.java:public class Hello // prints a Hello World! greeting Hello.java:  { System.out.println("Hello World!");-Hello.pdf:(Hello) Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_Hello-IPw.out

@@ -1,6 +1,5 @@ Hello.bat:echo "Hello World!" Hello.java:public class Hello // prints a Hello World! greeting Hello.java:  { System.out.println("Hello World!");-Hello.pdf:(Hello) Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_Hello-Iw.out

@@ -1,6 +1,5 @@ Hello.bat:echo "Hello World!" Hello.java:public class Hello // prints a Hello World! greeting Hello.java:  { System.out.println("Hello World!");-Hello.pdf:(Hello) Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_SnS-I-c.out

@@ -1,6 +1,6 @@ Hello.bat:1 Hello.class:0 Hello.java:2-Hello.pdf:112+Hello.pdf:0 Hello.sh:1 Hello.txt:0

tests/out/Hello_SnS-I-co.out

@@ -1,6 +1,6 @@ Hello.bat:1 Hello.class:0 Hello.java:2-Hello.pdf:112+Hello.pdf:0 Hello.sh:1 Hello.txt:0

tests/out/Hello_SnS-I-cv.out

@@ -1,6 +1,6 @@ Hello.bat:1 Hello.class:0 Hello.java:5-Hello.pdf:22+Hello.pdf:0 Hello.sh:1 Hello.txt:0

tests/out/Hello_SnS-I-l.out

@@ -1,4 +1,3 @@ Hello.bat Hello.java-Hello.pdf Hello.sh

tests/out/Hello_SnS-I-nv.out

@@ -1,24 +1,4 @@ Hello.java:1:import java.lang.*; Hello.java:2: Hello.java:5:  { System.out.println("Hello World!");-Hello.pdf:109:0000005392 00000 n -Hello.pdf:110:0000000238 00000 n -Hello.pdf:111:0000001714 00000 n -Hello.pdf:112:0000000022 00000 n -Hello.pdf:113:0000000219 00000 n -Hello.pdf:114:0000000342 00000 n -Hello.pdf:115:0000001679 00000 n -Hello.pdf:116:0000001847 00000 n -Hello.pdf:117:0000000439 00000 n -Hello.pdf:118:0000001658 00000 n -Hello.pdf:119:0000001797 00000 n -Hello.pdf:120:0000002110 00000 n -Hello.pdf:121:0000002362 00000 n -Hello.pdf:122:0000005186 00000 n -Hello.pdf:123:0000005207 00000 n -Hello.pdf:124:0000005231 00000 n -Hello.pdf:125:0000005284 00000 n -Hello.pdf:126:0000005311 00000 n -Hello.pdf:127:0000005353 00000 n -Hello.pdf:128:0000005372 00000 n  Hello.txt:1:Hello

tests/out/Hello_SnS-I-o.out

@@ -4,7 +4,5 @@ Hello.java|{ Hello.java:} Hello.java|}-Hello.pdf:3-Hello.pdf|% Hello.sh:h Hello.sh|e

tests/out/Hello_SnS-I-on.out

@@ -4,7 +4,5 @@ Hello.java|4|{ Hello.java:6:} Hello.java|7|}-Hello.pdf:1:3-Hello.pdf|2|% Hello.sh:1:h Hello.sh|2|e

tests/out/Hello_SnS-I-onkbT.out

@@ -4,7 +4,5 @@ Hello.java|     4|  1|     74|	{ Hello.java:     6:  3:    156:	} Hello.java|     7|  1|    158|	}-Hello.pdf:     1:  8:      7:	3-Hello.pdf|     2|  1|      9|	% Hello.sh:     1:  9:      8:	h Hello.sh|     2|  1|     10|	e

tests/out/Hello_SnS-I-ounkbT.out

@@ -4,7 +4,5 @@ Hello.java|     4|  1|     74|	{ Hello.java:     6:  3:    156:	} Hello.java|     7|  1|    158|	}-Hello.pdf:     1:  8:      7:	3-Hello.pdf|     2|  1|      9|	% Hello.sh:     1:  9:      8:	h Hello.sh|     2|  1|     10|	e

tests/out/Hello_SnS-I-v.out

@@ -1,24 +1,4 @@ Hello.java:import java.lang.*; Hello.java: Hello.java:  { System.out.println("Hello World!");-Hello.pdf:0000005392 00000 n -Hello.pdf:0000000238 00000 n -Hello.pdf:0000001714 00000 n -Hello.pdf:0000000022 00000 n -Hello.pdf:0000000219 00000 n -Hello.pdf:0000000342 00000 n -Hello.pdf:0000001679 00000 n -Hello.pdf:0000001847 00000 n -Hello.pdf:0000000439 00000 n -Hello.pdf:0000001658 00000 n -Hello.pdf:0000001797 00000 n -Hello.pdf:0000002110 00000 n -Hello.pdf:0000002362 00000 n -Hello.pdf:0000005186 00000 n -Hello.pdf:0000005207 00000 n -Hello.pdf:0000005231 00000 n -Hello.pdf:0000005284 00000 n -Hello.pdf:0000005311 00000 n -Hello.pdf:0000005353 00000 n -Hello.pdf:0000005372 00000 n  Hello.txt:Hello

tests/out/Hello_nomatch-I-cv.out

@@ -1,6 +1,6 @@ Hello.bat:2 Hello.class:0 Hello.java:7-Hello.pdf:134+Hello.pdf:0 Hello.sh:2 Hello.txt:0

tests/out/Hello_nomatch-I-lv.out

@@ -1,5 +1,4 @@ Hello.bat Hello.java-Hello.pdf Hello.sh Hello.txt

tests/out/Hello_nomatch-I-nv.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_nomatch-I-nvC2.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_nomatch-I-nvy.out

@@ -7,7 +7,6 @@ Hello.java:5:  { System.out.println("Hello World!"); Hello.java:6:  } Hello.java:7:}-Hello.pdf:1:%PDF-1.3 Hello.sh:1:#!/bin/sh Hello.sh:2:echo "Hello World!" Hello.txt:1:Hello

tests/out/Hello_nomatch-I-ny.out

@@ -7,7 +7,6 @@ Hello.java-5-  { System.out.println("Hello World!"); Hello.java-6-  } Hello.java-7-}-Hello.pdf-1-%PDF-1.3 Hello.sh-1-#!/bin/sh Hello.sh-2-echo "Hello World!" Hello.txt-1-Hello

tests/out/Hello_nomatch-I-v.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_nomatch-I-vC2.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_nomatch-I-vy.out

@@ -7,7 +7,6 @@ Hello.java:  { System.out.println("Hello World!"); Hello.java:  } Hello.java:}-Hello.pdf:%PDF-1.3 Hello.sh:#!/bin/sh Hello.sh:echo "Hello World!" Hello.txt:Hello

tests/out/Hello_nomatch-I-y.out

@@ -7,7 +7,6 @@ Hello.java-  { System.out.println("Hello World!"); Hello.java-  } Hello.java-}-Hello.pdf-%PDF-1.3 Hello.sh-#!/bin/sh Hello.sh-echo "Hello World!" Hello.txt-Hello

tests/out/Hello_wsS-I-c.out

@@ -1,6 +1,6 @@ Hello.bat:2 Hello.class:0 Hello.java:4-Hello.pdf:101+Hello.pdf:0 Hello.sh:2 Hello.txt:0

tests/out/Hello_wsS-I-co.out

@@ -1,6 +1,6 @@ Hello.bat:2 Hello.class:0 Hello.java:9-Hello.pdf:210+Hello.pdf:0 Hello.sh:2 Hello.txt:0

tests/out/Hello_wsS-I-cv.out

@@ -1,6 +1,6 @@ Hello.bat:0 Hello.class:0 Hello.java:3-Hello.pdf:33+Hello.pdf:0 Hello.sh:0 Hello.txt:0

tests/out/Hello_wsS-I-l.out

@@ -1,4 +1,3 @@ Hello.bat Hello.java-Hello.pdf Hello.sh

tests/out/Hello_wsS-IPw.out

@@ -4,7 +4,5 @@ Hello.java:public class Hello // prints a Hello World! greeting Hello.java:{ public static void main(String[] arg) Hello.java:  { System.out.println("Hello World!");-Hello.pdf:4 0 obj-Hello.pdf:<< /Length 5 0 R /Filter /FlateDecode >> Hello.sh:#!/bin/sh Hello.sh|echo "Hello World!"

tests/out/Hello_wsS-Iw.out

@@ -4,7 +4,5 @@ Hello.java:public class Hello // prints a Hello World! greeting Hello.java:{ public static void main(String[] arg) Hello.java:  { System.out.println("Hello World!");-Hello.pdf:4 0 obj-Hello.pdf:<< /Length 5 0 R /Filter /FlateDecode >> Hello.sh:#!/bin/sh Hello.sh|echo "Hello World!"