From e39cccd522e46e26e2e96ad6e130619dc98f8cce Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 1 Dec 2008 01:18:44 +0000 Subject: * interp/define.boot (disallowNiAttribute): Remove. (compDefineFunctor1): Don't use it anymore. (compCategoryItem): Filter out nil attributes here. --- src/interp/define.boot | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/interp') diff --git a/src/interp/define.boot b/src/interp/define.boot index d68d3316..8e684640 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -593,7 +593,7 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body], $compileExportsOnly => compDefineExports(form, ds.1, signature',$e) $domainShell:= COPY_-SEQ ds --+ copy needed since slot1 is reset; compMake.. can return a cached vector - attributeList := disallowNilAttribute ds.2 --see below under "loadTimeAlist" + attributeList := ds.2 --see below under "loadTimeAlist" --+ 7 lines for $NRT follow -->--these globals used by NRTmakeCategoryAlist, set by NRTsetVector4Part1 $condAlist: local := nil @@ -718,10 +718,6 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body], ['MAKEPROP, ['QUOTE,op'], ['QUOTE,'NILADIC], true]) [fun,['Mapping,:signature'],originale] -disallowNilAttribute x == - res := [y for y in x | car y and car y ^= "nil"] ---HACK to get rid of nil attibutes ---NOTE: nil is RENAMED to NIL - compFunctorBody(body,m,e,parForm) == $bootStrapMode = true => [bootStrapError($functorForm, _/EDITFILE),m,e] @@ -1731,6 +1727,8 @@ compCategoryItem(x,predl,env) == --2. if attribute, push it and return x is ["ATTRIBUTE",y] => + -- Attribute 'nil' carries no semantics. + y = "nil" => nil noteExport(y,pred) PUSH(MKQ [y,pred],$atList) -- cgit v1.2.3