fixup #remove functionEntry and revert 09b3c166de

- 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
committed by andy
parent 1b7460bcae
commit 7889df78a9
2 changed files with 5 additions and 5 deletions

View File

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

View File

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