This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GSOC | Extending Common Lisp support


On Jun 21, 2012, at 2:45 AM, Per Bothner wrote:

Perhaps the problem isn't that we need to set PROCEDURE flag - but that we
need to check the IS_SYNTAX flag. I.e. in Lisp2#getNamespaceOf we could do:


   if (decl.getFlag(Declaration.PROCEDURE|Declaration.IS_SYNTAX))
     return FUNCTION_NAMESPACE;
   else
     return VALUE_NAMESPACE;


Yeah, a check like that seems to work, too. But Declaration.PROCEDURE is not
public, so at the moment it has to be something like


Index: gnu/commonlisp/lang/Lisp2.java
===================================================================
--- gnu/commonlisp/lang/Lisp2.java (revision 7254)
+++ gnu/commonlisp/lang/Lisp2.java (working copy)
@@ -61,7 +61,9 @@
// function and variable position.
if (decl.isAlias())
return FUNCTION_NAMESPACE+VALUE_NAMESPACE;
- return decl.isProcedureDecl() ? FUNCTION_NAMESPACE : VALUE_NAMESPACE;
+ return (decl.isProcedureDecl() ||
+ decl.getFlag(Declaration.IS_SYNTAX)) ?
+ FUNCTION_NAMESPACE : VALUE_NAMESPACE;
}


/** Get a symbol for a given (interned) Java string. */


-- Jamison Hope The PTR Group www.theptrgroup.com




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]