Diff of /inst/@dataframe/private/df_name2idx.m [2666d8] .. [98e8fd] Maximize Restore

  Switch to side-by-side view

--- a/inst/@dataframe/private/df_name2idx.m
+++ b/inst/@dataframe/private/df_name2idx.m
@@ -29,6 +29,17 @@
   %#
   %# $Id$
   %#
+
+  %# regexp idea of 'word boundary' changed between 3.6 and 3.7
+  persistent wbs wbe;
+  
+  if (isempty (wbs))
+    if (isempty ( regexp ('This is a test', '\<is\>')))
+       [wbs, wbe] = deal ('\b');
+    else
+      wbs = '\<'; wbe = '\>';
+    endif
+  endif
 
   if (isempty (subs))
     %# not caring about rownames ? Avoid generating an error.
@@ -76,11 +87,11 @@
       if (0 == index (subs{indi}, ':'))
 	 %# if there's no special operator, make match strict
 	if (isempty (regexp (subs{indi}, '[\.\*\+\?\{\}\(\)\[\]\^\$\\]')))
-	  subs{indi}  = ['\<' subs{indi} '\>'];
+	  subs{indi}  = [wbs subs{indi} wbe];
 	endif
 	for indj = (1:min (length (names), count)) %# sanity check
           if (~isempty (regexp (names{indj}, subs{indi})))
-            idx = [idx indj]; mask(indi) = true;
+            idx = [idx indj]; mask(indi) = true; dummy = true;
           endif
         endfor
       else