fixup #remove functionEntry and revert e15e32fdb7d515b

- forgot to use readList in removeEntry, which caused the test failure.

- remaining problem:

it doesn't work as might be expected
This is the problem:

dict
{
   foo xxx;
   bar yyy;
}

dict
{
   baz zzz;
   #remove foo
}

This only removes 'foo' from the current scope (the second dict), since
it occurs before the dictionary merge does.

To remove from the final, merged dictionary, we'd need a new
deleteEntry type that would do the right thing on the merge before
self-destructing (ie, removing itself too).
This commit is contained in:
Mark Olesen
2009-12-01 13:50:51 +01:00
parent 80a27fb9da
commit 28345f7e97
2 changed files with 5 additions and 5 deletions

View File

@ -71,7 +71,7 @@ boundaryField
} }
// this should have no effect // this should have no effect
//#remove $inactive #remove inactive
inlet_7 { $active } inlet_7 { $active }
#inputMode overwrite #inputMode overwrite
@ -105,9 +105,9 @@ baz
// this should work // this should work
//#remove active #remove active
// this should work too // this should work too
//#remove ( bar baz ) #remove ( bar baz )
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -66,7 +66,7 @@ bool Foam::functionEntries::removeEntry::execute
) )
{ {
wordList dictKeys = parentDict.toc(); wordList dictKeys = parentDict.toc();
wordReList patterns(is); wordReList patterns = readList<wordRe>(is);
labelList indices = findStrings(patterns, dictKeys); labelList indices = findStrings(patterns, dictKeys);