This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Re: Patch for ListPat.java - take 2
- From: Per Bothner <per at bothner dot com>
- To: dominique dot boucher at nuecho dot com
- Cc: "'Kawa List'" <kawa at sources dot redhat dot com>
- Date: Thu, 19 Aug 2004 19:24:49 -0700
- Subject: Re: Patch for ListPat.java - take 2
- References: <200408191934.i7JJY0m32182@almodovar.nuecho.ad>
Dominique Boucher wrote:
If you apply the proposed patch, JEmacs does not build anymore. In
gnu/jemacs/lisp/keymap.el, there is an 'if' expression that contains more
than 3 arguments. This is perfectly legal [Emacs/Common] Lisp code, but not
legal Scheme code...
This code is presumably mis-compiled, since arguments beyond 3 are
ignored by ifp.java.
So I guess there should be a Lisp-specific 'if' special
form, instead of reusing the Scheme one.
We can add a "allowElseList" boolean in ipf.java, set by the
constructor. Then we can use VarListPat if allowElseList.
The test 'obj instanceof Pair' in your original patch might
be better 'obj != LList.Empty' to catch impure lists.
--
--Per Bothner
per@bothner.com http://per.bothner.com/