diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 7 | ||||
-rw-r--r-- | src/interp/parse.boot | 3 | ||||
-rw-r--r-- | src/interp/postpar.boot | 2 | ||||
-rw-r--r-- | src/testsuite/compiler/1867459.spad | 8 |
4 files changed, 19 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 495bdfde..76d32f49 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2008-01-13 Gabriel Dos Reis <gdr@cs.tamu.edu> + + Fix SF/1867459 + * interp/postpar.boot (postError): Fix thinko. + * interp/parse.boot ($defOp): Define. + * testsuite/compiler/1867459.spad: New. + 2008-01-13 Ralf Hemmecke <ralf@hemmecke.de> Gabriel Dos Reis <gdr@cs.tamu.edu> diff --git a/src/interp/parse.boot b/src/interp/parse.boot index 5f52ab4e..5309b271 100644 --- a/src/interp/parse.boot +++ b/src/interp/parse.boot @@ -36,6 +36,9 @@ import '"postpar" )package "BOOT" --% Transformation of Parser Output + +++ If non nil, holds the operator being being defined. +$defOp := nil parseTransform x == $defOp: local:= nil diff --git a/src/interp/postpar.boot b/src/interp/postpar.boot index 93a886b3..149bbd75 100644 --- a/src/interp/postpar.boot +++ b/src/interp/postpar.boot @@ -135,7 +135,7 @@ postConstruct u == postError msg == BUMPERRORCOUNT 'precompilation xmsg:= - $defOp ^= '$defOp and not $InteractiveMode => [$defOp,'": ",:msg] + not null $defOp and not $InteractiveMode => [$defOp,'": ",:msg] msg $postStack:= [xmsg,:$postStack] nil diff --git a/src/testsuite/compiler/1867459.spad b/src/testsuite/compiler/1867459.spad new file mode 100644 index 00000000..67ed4930 --- /dev/null +++ b/src/testsuite/compiler/1867459.spad @@ -0,0 +1,8 @@ +++ Contributed by Luke Wagner. +)abbrev package FOO Foo + +Foo() : with + foo : Integer -> Integer + == add + foo i -- missing == + i |