sleyzerzon / soar

Automatically exported from code.google.com/p/soar
1 stars 0 forks source link

The watch-wmes command does not currently work and is poorly documented #103

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. New Soar instance
2. Execute: "watch-wmes -a -t both * foo *"
3. Execute: "watch --wmes"
4. Step

What is the expected output? What do you see instead?
Expected: nothing (nothing is added/removed from working memory that matches 
the pattern * ^foo *)
Instead: =>WM: for all WMEs in the new substate 

Notes:
The reason for this behavior is that the passes_wme_filtering function (in 
print.cpp) has its contents commented out (along with a dependent function, 
wme_filter_component_match), with just a return TRUE at the end. The result is 
that there is no filtering - if you enable the appropriate watch ("watch 
--wmes") then you see all deltas fly past you.

This is true as far back as May 13, 2005 (r1321). Assuming there are no filters 
defined, the function, as written, would have exited just as fast, so it's not 
really a performance issue. Either the command should be removed or this code 
uncommented [and checked for correctness].

As a side note, our documentation is lacking: the command says it applies "when 
watching wmes" (which means, in code-speak, that you have to enable the watch 
--wmes option). I honestly only got that when I looked at the source code.

Original issue reported on code.google.com by nate.der...@gmail.com on 19 Feb 2012 at 5:46

GoogleCodeExporter commented 8 years ago

Original comment by maz...@gmail.com on 29 Feb 2012 at 9:55

GoogleCodeExporter commented 8 years ago
This issue was closed by revision r13272.

Original comment by maz...@gmail.com on 19 Mar 2012 at 8:16