[Pcre-svn] [365] code/trunk: Implement #newline_default and …

トップ ページ
このメッセージを削除
著者: Subversion repository
日付:  
To: pcre-svn
題目: [Pcre-svn] [365] code/trunk: Implement #newline_default and adjust testdata and scripts to use it.
Revision: 365
          http://www.exim.org/viewvc/pcre2?view=rev&revision=365
Author:   ph10
Date:     2015-09-08 18:01:17 +0100 (Tue, 08 Sep 2015)
Log Message:
-----------
Implement #newline_default and adjust testdata and scripts to use it.


Modified Paths:
--------------
    code/trunk/ChangeLog
    code/trunk/RunGrepTest
    code/trunk/RunTest
    code/trunk/doc/pcre2test.1
    code/trunk/maint/ManyConfigTests
    code/trunk/src/pcre2test.c
    code/trunk/testdata/testinput1
    code/trunk/testdata/testinput11
    code/trunk/testdata/testinput18
    code/trunk/testdata/testinput2
    code/trunk/testdata/testinput4
    code/trunk/testdata/testinput6
    code/trunk/testdata/testinput7
    code/trunk/testdata/testinput9
    code/trunk/testdata/testoutput1
    code/trunk/testdata/testoutput11-16
    code/trunk/testdata/testoutput11-32
    code/trunk/testdata/testoutput18
    code/trunk/testdata/testoutput2
    code/trunk/testdata/testoutput4
    code/trunk/testdata/testoutput6
    code/trunk/testdata/testoutput7
    code/trunk/testdata/testoutput9


Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/ChangeLog    2015-09-08 17:01:17 UTC (rev 365)
@@ -172,7 +172,14 @@
 49. Fixed two issues in JIT. These were found by Karl Skomski with a custom
 LLVM fuzzer.


+50. The pcre2test program has been extended by adding the #newline_default
+command. This has made it possible to run the standard tests when PCRE2 is
+compiled with either CR or CRLF as the default newline convention. As part of
+this work, the new command was added to several test files and the testing
+scripts were modified. The pcre2grep tests can now also be run when there is no
+LF in the default newline convention.

+
Version 10.20 30-June-2015
--------------------------


Modified: code/trunk/RunGrepTest
===================================================================
--- code/trunk/RunGrepTest    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/RunGrepTest    2015-09-08 17:01:17 UTC (rev 365)
@@ -19,6 +19,7 @@


builddir=`pwd`
pcre2grep=$builddir/pcre2grep
+pcre2test=$builddir/pcre2test

if [ ! -x $pcre2grep ] ; then
echo "** $pcre2grep does not exist or is not execuatble."
@@ -25,6 +26,11 @@
exit 1
fi

+if [ ! -x $pcre2test ] ; then
+ echo "** $pcre2test does not exist or is not execuatble."
+ exit 1
+fi
+
valgrind=
while [ $# -gt 0 ] ; do
case $1 in
@@ -34,7 +40,6 @@
shift
done

-echo " "
pcre2grep_version=`$pcre2grep -V`
if [ "$valgrind" = "" ] ; then
echo "Testing $pcre2grep_version"
@@ -69,14 +74,22 @@

# Check for the availability of UTF-8 support

-./pcre2test -C unicode >/dev/null
+$pcre2test -C unicode >/dev/null
utf8=$?

+# Check default newline convention. If it does not include LF, force LF.
+
+nl=`$pcre2test -C newline`
+if [ "$nl" != "LF" -a "$nl" != "ANY" -a "$nl" != "ANYCRLF" ]; then
+ pcre2grep="$pcre2grep -N LF"
+ echo "Default newline setting forced to LF"
+fi
+
# ------ Function to run and check a special pcre2grep arguments test -------

 checkspecial()
   {
-  $valgrind ./pcre2grep $1 >>testtrygrep 2>&1
+  $valgrind $pcre2grep $1 >>testtrygrep 2>&1
   if [ $? -ne $2 ] ; then
     echo "** pcre2grep $1 failed - check testtrygrep"
     exit 1


Modified: code/trunk/RunTest
===================================================================
--- code/trunk/RunTest    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/RunTest    2015-09-08 17:01:17 UTC (rev 365)
@@ -75,7 +75,7 @@
 title18="Test 18: Tests of the POSIX interface, excluding UTF/UCP"
 title19="Test 19: Tests of the POSIX interface with UTF/UCP"
 title20="Test 20: Serialization tests"
-maxtest=18
+maxtest=20


if [ $# -eq 1 -a "$1" = "list" ]; then
echo $title0
@@ -699,8 +699,12 @@

   if [ $do14 = yes ] ; then
     echo $title14
-    $sim $valgrind ./pcre2test -q $defaultstack $bmode $opt $testdata/testinput14 testtry
-    checkresult $? 14-$bits ""
+    if [ $utf -eq 0 ] ; then
+      echo "  Skipped because UTF-$bits support is not available"
+    else
+      $sim $valgrind ./pcre2test -q $defaultstack $bmode $opt $testdata/testinput14 testtry
+      checkresult $? 14-$bits ""
+    fi   
   fi


# Test non-JIT match and recursion limits

Modified: code/trunk/doc/pcre2test.1
===================================================================
--- code/trunk/doc/pcre2test.1    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/doc/pcre2test.1    2015-09-08 17:01:17 UTC (rev 365)
@@ -1,4 +1,4 @@
-.TH PCRE2TEST 1 "03 September 2015" "PCRE 10.21"
+.TH PCRE2TEST 1 "08 September 2015" "PCRE 10.21"
 .SH NAME
 pcre2test - a program for testing Perl-compatible regular expressions.
 .SH SYNOPSIS
@@ -260,6 +260,34 @@
 below.
 .\"
 .sp
+  #newline_default [<newline-list>]
+.sp
+When PCRE2 is built, a default newline convention can be specified. This 
+determines which characters and/or character pairs are recognized as indicating
+a newline in a pattern or subject string. The default can be overridden when a
+pattern is compiled. The standard test files contain tests of various newline
+conventions, but the majority of the tests expect a single linefeed to be
+recognized as a newline by default. Without special action the tests would fail
+when PCRE2 is compiled with either CR or CRLF as the default newline.
+.P
+The #newline_default command specifies a list of newline types that are
+acceptable as the default. The types must be one of CR, LF, CRLF, ANYCRLF, or
+ANY (in upper or lower case), for example:
+.sp
+  #newline_default LF Any anyCRLF
+.sp
+If the default newline is in the list, this command has no effect. Otherwise,
+except when testing the POSIX API, a \fBnewline\fP modifier that specifies the
+first newline convention in the list (LF in the above example) is added to any
+pattern that does not already have a \fBnewline\fP modifier. If the newline
+list is empty, the feature is turned off. This command is present in a number
+of the standard test input files.
+.P
+When the POSIX API is being tested there is no way to override the default
+newline convention, though it is possible to set the newline convention from
+within the pattern. A warning is given if the \fBposix\fP modifier is used when
+\fB#newline_default\fP would set a default for the non-POSIX API.
+.sp
   #pattern <modifier-list>
 .sp
 This command sets a default modifier list that applies to all subsequent
@@ -1457,6 +1485,6 @@
 .rs
 .sp
 .nf
-Last updated: 03 September 2015
+Last updated: 08 September 2015
 Copyright (c) 1997-2015 University of Cambridge.
 .fi


Modified: code/trunk/maint/ManyConfigTests
===================================================================
--- code/trunk/maint/ManyConfigTests    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/maint/ManyConfigTests    2015-09-08 17:01:17 UTC (rev 365)
@@ -131,33 +131,22 @@
     ./pcre2test -C
   fi


-  nl=`./pcre2test -C newline`
-  if [ "$nl" = "LF" -o "$nl" = "ANY" -o "$nl" = "ANYCRLF" ]; then
-    nlok=1
-  else
-    nlok=0
-  fi
-
   ./pcre2test -C jit >/dev/null
   jit=$?
   ./pcre2test -C pcre2-8 >/dev/null
   pcre2_8=$?


-  if [ $nlok -gt 0 ]; then
-    echo "Running PCRE2 library tests $withvalgrind"
-    $srcdir/RunTest $valgrind >teststdout 2>teststderr
-    if [ $? -ne 0 -o -s teststderr ]; then
-      echo " "
-      echo "**** Test failed ****"
-      cat teststderr
-      if [ -s teststdout ] ; then cat teststdout; fi
-      exit 1
-    fi
-  else
-    echo "Skipping PCRE2 library tests: newline is $nl"
+  echo "Running PCRE2 library tests $withvalgrind"
+  $srcdir/RunTest $valgrind >teststdout 2>teststderr
+  if [ $? -ne 0 -o -s teststderr ]; then
+    echo " "
+    echo "**** Test failed ****"
+    cat teststderr
+    if [ -s teststdout ] ; then cat teststdout; fi
+    exit 1
   fi


-  if [ $nlok -gt 0 -a $pcre2_8 -gt 0 ]; then
+  if [ $pcre2_8 -gt 0 ]; then
     echo "Running pcre2grep tests $withvalgrind"
     $srcdir/RunGrepTest $valgrind >teststdout 2>teststderr
     if [ $? -ne 0 -o -s teststderr ]; then
@@ -167,10 +156,8 @@
       cat teststdout
       exit 1
     fi
-  elif [ $nlok -gt 0 ]; then
+  else
     echo "Skipping pcre2grep tests: 8-bit library not compiled"
-  else
-    echo "Skipping pcre2grep tests: newline is $nl"
   fi


if [ "$jit" -gt 0 ]; then

Modified: code/trunk/src/pcre2test.c
===================================================================
--- code/trunk/src/pcre2test.c    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/src/pcre2test.c    2015-09-08 17:01:17 UTC (rev 365)
@@ -336,17 +336,18 @@
   int  value;
 } cmdstruct;


-enum { CMD_FORBID_UTF, CMD_LOAD, CMD_PATTERN, CMD_PERLTEST, CMD_POP, CMD_SAVE,
- CMD_SUBJECT, CMD_UNKNOWN };
+enum { CMD_FORBID_UTF, CMD_LOAD, CMD_NEWLINE_DEFAULT, CMD_PATTERN,
+ CMD_PERLTEST, CMD_POP, CMD_SAVE, CMD_SUBJECT, CMD_UNKNOWN };

 static cmdstruct cmdlist[] = {
-  { "forbid_utf",  CMD_FORBID_UTF },
-  { "load",        CMD_LOAD },
-  { "pattern",     CMD_PATTERN },
-  { "perltest",    CMD_PERLTEST },
-  { "pop",         CMD_POP },
-  { "save",        CMD_SAVE },
-  { "subject",     CMD_SUBJECT }};
+  { "forbid_utf",      CMD_FORBID_UTF },
+  { "load",            CMD_LOAD },
+  { "newline_default", CMD_NEWLINE_DEFAULT },
+  { "pattern",         CMD_PATTERN },
+  { "perltest",        CMD_PERLTEST },
+  { "pop",             CMD_POP },
+  { "save",            CMD_SAVE },
+  { "subject",         CMD_SUBJECT }};


#define cmdlistcount sizeof(cmdlist)/sizeof(cmdstruct)

@@ -720,6 +721,8 @@
static uint32_t max_oveccount;
static uint32_t callout_count;

+static uint16_t local_newline_default = 0;
+
 static VERSION_TYPE jittarget[VERSION_SIZE];
 static VERSION_TYPE version[VERSION_SIZE];
 static VERSION_TYPE uversion[VERSION_SIZE];
@@ -3420,7 +3423,7 @@
 static void
 show_controls(uint32_t controls, const char *before)
 {
-fprintf(outfile, "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+fprintf(outfile, "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
   before,
   ((controls & CTL_AFTERTEXT) != 0)? " aftertext" : "",
   ((controls & CTL_ALLAFTERTEXT) != 0)? " allaftertext" : "",
@@ -3428,6 +3431,7 @@
   ((controls & CTL_ALLUSEDTEXT) != 0)? " allusedtext" : "",
   ((controls & CTL_ALTGLOBAL) != 0)? " altglobal" : "",
   ((controls & CTL_BINCODE) != 0)? " bincode" : "",
+  ((controls & CTL_BSR_SET) != 0)? " bsr" : "", 
   ((controls & CTL_CALLOUT_CAPTURE) != 0)? " callout_capture" : "",
   ((controls & CTL_CALLOUT_INFO) != 0)? " callout_info" : "",
   ((controls & CTL_CALLOUT_NONE) != 0)? " callout_none" : "",
@@ -3442,6 +3446,7 @@
   ((controls & CTL_JITVERIFY) != 0)? " jitverify" : "",
   ((controls & CTL_MARK) != 0)? " mark" : "",
   ((controls & CTL_MEMORY) != 0)? " memory" : "",
+  ((controls & CTL_NL_SET) != 0)? " newline" : "", 
   ((controls & CTL_POSIX) != 0)? " posix" : "",
   ((controls & CTL_PUSH) != 0)? " push" : "",
   ((controls & CTL_STARTCHAR) != 0)? " startchar" : "",
@@ -3472,7 +3477,7 @@
   before,
   ((options & PCRE2_ALT_BSUX) != 0)? " alt_bsux" : "",
   ((options & PCRE2_ALT_CIRCUMFLEX) != 0)? " alt_circumflex" : "",
-  ((options & PCRE2_ALT_VERBNAMES) != 0)? " alt_verbnames" : "", 
+  ((options & PCRE2_ALT_VERBNAMES) != 0)? " alt_verbnames" : "",
   ((options & PCRE2_ALLOW_EMPTY_CLASS) != 0)? " allow_empty_class" : "",
   ((options & PCRE2_ANCHORED) != 0)? " anchored" : "",
   ((options & PCRE2_AUTO_CALLOUT) != 0)? " auto_callout" : "",
@@ -3775,8 +3780,7 @@
     fprintf(outfile, "\\R matches %s\n", (bsr_convention == PCRE2_BSR_UNICODE)?
       "any Unicode newline" : "CR, LF, or CRLF");


-  if ((pat_patctl.control & CTL_NL_SET) != 0 ||
-      (FLD(compiled_code, flags) & PCRE2_NL_SET) != 0)
+  if ((FLD(compiled_code, flags) & PCRE2_NL_SET) != 0)
     {
     switch (newline_convention)
       {
@@ -3993,6 +3997,7 @@
 PCRE2_SIZE serial_size;
 size_t i;
 int rc, cmd, cmdlen;
+uint16_t first_listed_newline;
 const char *cmdname;
 uint8_t *argptr, *serial;


@@ -4047,6 +4052,31 @@
(void)decode_modifiers(argptr, CTX_DEFDAT, NULL, &def_datctl);
break;

+  /* Check the default newline, and if not one of those listed, set up the
+  first one to be forced. An empty list unsets. */
+
+  case CMD_NEWLINE_DEFAULT:
+  local_newline_default = 0;   /* Unset */
+  first_listed_newline = 0;
+  for (;;)
+    {
+    while (isspace(*argptr)) argptr++;
+    if (*argptr == 0) break;
+    for (i = 1; i < sizeof(newlines)/sizeof(char *); i++)
+      {
+      size_t nlen = strlen(newlines[i]);
+      if (strncmpic(argptr, (const uint8_t *)newlines[i], nlen) == 0 &&
+          isspace(argptr[nlen]))
+        {
+        if (i == NEWLINE_DEFAULT) return PR_OK;  /* Default is valid */
+        if (first_listed_newline == 0) first_listed_newline = i;
+        }
+      }
+    while (*argptr != 0 && !isspace(*argptr)) argptr++;
+    }
+  local_newline_default = first_listed_newline;
+  break;
+
   /* Pop a compiled pattern off the stack. Modifiers that do not affect the
   compiled pattern (e.g. to give information) are permitted. The default
   pattern modifiers are ignored. */
@@ -4371,6 +4401,8 @@
     show_controls(pat_patctl.control & ~POSIX_SUPPORTED_COMPILE_CONTROLS, msg);
     msg = "";
     }
+    
+  if (local_newline_default != 0) prmsg(&msg, "#newline_default");


if (msg[0] == 0) fprintf(outfile, "\n");

@@ -4461,6 +4493,15 @@

if ((pat_patctl.control & CTL_HEXPAT) == 0) patlen = PCRE2_ZERO_TERMINATED;

+/* If #newline_default has been used and the library was not compiled with an
+appropriate default newline setting, local_newline_default will be non-zero. We
+use this if there is no explicit newline modifier. */
+
+if ((pat_patctl.control & CTL_NL_SET) == 0 && local_newline_default != 0)
+ {
+ SETFLD(pat_context, newline_convention, local_newline_default);
+ }
+
/* Compile many times when timing. */

 if (timeit > 0)
@@ -4551,6 +4592,14 @@
     }
   }


+/* If an explicit newline modifier was given, set the information flag in the
+pattern so that it is preserved over push/pop. */
+
+if ((pat_patctl.control & CTL_NL_SET) != 0)
+ {
+ SETFLD(compiled_code, flags, FLD(compiled_code, flags) | PCRE2_NL_SET);
+ }
+
/* Output code size and other information if requested. */

if ((pat_patctl.control & CTL_MEMORY) != 0) show_memory_info();

Modified: code/trunk/testdata/testinput1
===================================================================
--- code/trunk/testdata/testinput1    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput1    2015-09-08 17:01:17 UTC (rev 365)
@@ -3,6 +3,7 @@
 # 32-bit PCRE libraries, and also using the perltest.pl script.


#forbid_utf
+#newline_default lf any anycrlf
#perltest

/the quick brown fox/

Modified: code/trunk/testdata/testinput11
===================================================================
--- code/trunk/testdata/testinput11    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput11    2015-09-08 17:01:17 UTC (rev 365)
@@ -4,6 +4,7 @@
 # different, so they have separate output files.


#forbid_utf
+#newline_default LF ANY ANYCRLF

 /a\Cb/
     aXb


Modified: code/trunk/testdata/testinput18
===================================================================
--- code/trunk/testdata/testinput18    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput18    2015-09-08 17:01:17 UTC (rev 365)
@@ -38,11 +38,11 @@
     the quick brown fox
     The Quick Brown Fox


-/abc.def/
+/(*LF)abc.def/
     *** Failers
     abc\ndef


-/abc$/
+/(*LF)abc$/
     abc
     abc\n


@@ -57,7 +57,7 @@
     aaaabbbbzzzz\=ovector=1
     aaaabbbbzzzz\=ovector=2


-/ab.cd/
+/(*ANY)ab.cd/
     ab-cd
     ab=cd
     ** Failers


Modified: code/trunk/testdata/testinput2
===================================================================
--- code/trunk/testdata/testinput2    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput2    2015-09-08 17:01:17 UTC (rev 365)
@@ -9,6 +9,7 @@
 # test 5. 


#forbid_utf
+#newline_default lf any anycrlf

# Test binary zeroes in the pattern


Modified: code/trunk/testdata/testinput4
===================================================================
--- code/trunk/testdata/testinput4    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput4    2015-09-08 17:01:17 UTC (rev 365)
@@ -3,6 +3,7 @@
 # some of the property tests may differ because of different versions of
 # Unicode in use by PCRE2 and Perl.


+#newline_default lf anycrlf any
#perltest

/a.b/utf

Modified: code/trunk/testdata/testinput6
===================================================================
--- code/trunk/testdata/testinput6    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput6    2015-09-08 17:01:17 UTC (rev 365)
@@ -4,6 +4,7 @@


#forbid_utf
#subject dfa
+#newline_default lf anycrlf any

 /abc/
     abc


Modified: code/trunk/testdata/testinput7
===================================================================
--- code/trunk/testdata/testinput7    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput7    2015-09-08 17:01:17 UTC (rev 365)
@@ -3,6 +3,7 @@
 # used to force DFA matching for all tests.


#subject dfa
+#newline_default LF any anyCRLF

/\x{100}ab/utf
\x{100}ab

Modified: code/trunk/testdata/testinput9
===================================================================
--- code/trunk/testdata/testinput9    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testinput9    2015-09-08 17:01:17 UTC (rev 365)
@@ -2,6 +2,7 @@
 # UTF-8 or Unicode property support. */


#forbid_utf
+#newline_default lf any anycrlf

 /a\Cb/
     aXb


Modified: code/trunk/testdata/testoutput1
===================================================================
--- code/trunk/testdata/testoutput1    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput1    2015-09-08 17:01:17 UTC (rev 365)
@@ -3,6 +3,7 @@
 # 32-bit PCRE libraries, and also using the perltest.pl script.


#forbid_utf
+#newline_default lf any anycrlf
#perltest

/the quick brown fox/

Modified: code/trunk/testdata/testoutput11-16
===================================================================
--- code/trunk/testdata/testoutput11-16    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput11-16    2015-09-08 17:01:17 UTC (rev 365)
@@ -4,6 +4,7 @@
 # different, so they have separate output files.


#forbid_utf
+#newline_default LF ANY ANYCRLF

 /a\Cb/
     aXb


Modified: code/trunk/testdata/testoutput11-32
===================================================================
--- code/trunk/testdata/testoutput11-32    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput11-32    2015-09-08 17:01:17 UTC (rev 365)
@@ -4,6 +4,7 @@
 # different, so they have separate output files.


#forbid_utf
+#newline_default LF ANY ANYCRLF

 /a\Cb/
     aXb


Modified: code/trunk/testdata/testoutput18
===================================================================
--- code/trunk/testdata/testoutput18    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput18    2015-09-08 17:01:17 UTC (rev 365)
@@ -58,13 +58,13 @@
     The Quick Brown Fox
  0: The Quick Brown Fox


-/abc.def/
+/(*LF)abc.def/
     *** Failers
 No match: POSIX code 17: match failed
     abc\ndef
 No match: POSIX code 17: match failed


-/abc$/
+/(*LF)abc$/
     abc
  0: abc
     abc\n
@@ -91,7 +91,7 @@
  0: aaaabbbbzz
  1: bbbb


-/ab.cd/
+/(*ANY)ab.cd/
     ab-cd
  0: ab-cd
     ab=cd


Modified: code/trunk/testdata/testoutput2
===================================================================
--- code/trunk/testdata/testoutput2    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput2    2015-09-08 17:01:17 UTC (rev 365)
@@ -9,6 +9,7 @@
 # test 5. 


#forbid_utf
+#newline_default lf any anycrlf

# Test binary zeroes in the pattern


Modified: code/trunk/testdata/testoutput4
===================================================================
--- code/trunk/testdata/testoutput4    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput4    2015-09-08 17:01:17 UTC (rev 365)
@@ -3,6 +3,7 @@
 # some of the property tests may differ because of different versions of
 # Unicode in use by PCRE2 and Perl.


+#newline_default lf anycrlf any
#perltest

/a.b/utf

Modified: code/trunk/testdata/testoutput6
===================================================================
--- code/trunk/testdata/testoutput6    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput6    2015-09-08 17:01:17 UTC (rev 365)
@@ -4,6 +4,7 @@


#forbid_utf
#subject dfa
+#newline_default lf anycrlf any

 /abc/
     abc


Modified: code/trunk/testdata/testoutput7
===================================================================
--- code/trunk/testdata/testoutput7    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput7    2015-09-08 17:01:17 UTC (rev 365)
@@ -3,6 +3,7 @@
 # used to force DFA matching for all tests.


#subject dfa
+#newline_default LF any anyCRLF

/\x{100}ab/utf
\x{100}ab

Modified: code/trunk/testdata/testoutput9
===================================================================
--- code/trunk/testdata/testoutput9    2015-09-03 15:53:14 UTC (rev 364)
+++ code/trunk/testdata/testoutput9    2015-09-08 17:01:17 UTC (rev 365)
@@ -2,6 +2,7 @@
 # UTF-8 or Unicode property support. */


#forbid_utf
+#newline_default lf any anycrlf

 /a\Cb/
     aXb