Syntax Errors Missed In @keywords/@forAll Combination

The following errors are caused by @keywords setting its argument list 
  to be treated as literals, and then @forAll being passed them 
without realising that a syntax error is occuring. The errors given 
should be notation3.BadSyntax, not AttributeError, and display some 
kind of help letting people know where they've gone wrong!

I might try to patch these myself, but they're low priority bugs anyway.

$ echo '@keywords p . @prefix : <#> . @forAll p .' | cwm

Traceback (most recent call last):
   File "/misc/tools/cwm/cwm.py", line 653, in ?
     doCommand()
   File "/misc/tools/cwm/cwm.py", line 580, in doCommand
     _store.dumpNested(workingContext, _outSink)
   File "/misc/tools/cwm/llyn.py", line 1510, in dumpNested
     pp. dumpNested()
   File "/misc/tools/cwm/pretty.py", line 375, in dumpNested
     self.dumpFormulaContents(context, self.sink, sorting=1, equals=1)
   File "/misc/tools/cwm/pretty.py", line 392, in dumpFormulaContents
     self.dumpVariables(context, sink, sorting, pretty=1)
   File "/misc/tools/cwm/pretty.py", line 217, in dumpVariables
     self._outputStatement(sink, (context, self.store.forAll,
       context, v))
   File "/misc/tools/cwm/pretty.py", line 196, in _outputStatement
     sink.makeStatement(self.extern(quad))
   File "/misc/tools/cwm/pretty.py", line 199, in extern
     return(t[CONTEXT].asPair(),
AttributeError: 'unicode' object has no attribute 'asPair'

$ echo '@keywords p . @prefix : <#> . @forAll p, q .' | cwm

Traceback (most recent call last):
   File "/misc/tools/cwm/cwm.py", line 653, in ?
     doCommand()
   File "/misc/tools/cwm/cwm.py", line 580, in doCommand
     _store.dumpNested(workingContext, _outSink)
   File "/misc/tools/cwm/llyn.py", line 1510, in dumpNested
     pp. dumpNested()
   File "/misc/tools/cwm/pretty.py", line 375, in dumpNested
     self.dumpFormulaContents(context, self.sink, sorting=1, equals=1)
   File "/misc/tools/cwm/pretty.py", line 392, in dumpFormulaContents
     self.dumpVariables(context, sink, sorting, pretty=1)
   File "/misc/tools/cwm/pretty.py", line 209, in dumpVariables
     uv.sort(compareTerm)
   File "/misc/tools/cwm/formula.py", line 672, in compareTerm
     o = other.uriref()
AttributeError: 'unicode' object has no attribute 'uriref'

Thanks,

-- 
Sean B. Palmer, <http://purl.org/net/sbp/>
"phenomicity by the bucketful" - http://miscoranda.com/

Received on Thursday, 26 February 2004 11:38:39 UTC