From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from aibo.runbox.com (aibo.runbox.com [91.220.196.211]) by sourceware.org (Postfix) with ESMTPS id 5F8063858402 for ; Tue, 14 Sep 2021 17:27:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5F8063858402 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=bothner.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bothner.com Received: from [10.9.9.73] (helo=submission02.runbox) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1mQCCz-00030j-1z; Tue, 14 Sep 2021 19:27:01 +0200 Received: by submission02.runbox with esmtpsa [Authenticated ID (524175)] (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) id 1mQCCk-0001c6-SA; Tue, 14 Sep 2021 19:26:47 +0200 Subject: Re: define-syntax can only be used with local variables To: phiroc@free.fr, kawa@sourceware.org References: <1301054857.197399065.1631259238004.JavaMail.root@zimbra65-e11.priv.proxad.net> From: Per Bothner Message-ID: <515e7486-9636-e698-b811-9574bf0bedc3@bothner.com> Date: Tue, 14 Sep 2021 10:26:38 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <1301054857.197399065.1631259238004.JavaMail.root@zimbra65-e11.priv.proxad.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: kawa@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Kawa mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Sep 2021 17:27:05 -0000 On 9/10/21 12:33 AM, phiroc--- via Kawa wrote: > Hello, > in the below code, nil! and nil2! only set variables values to '() and '(0) when such variables are local (let). I'm guessing (without having tested it) that the restriction isn't local variables but lexical vs dynamic variables. I.e. it is likely that module-level (library-level) variables would also work. Probably a problem with macro hygiene. Though it's weird that it behaves differently on different systems. Possibly different Java versionor different Kawa versions (though I don't recall changing anything in this area in a while). Could be a nice exercise to figure out for someone who wants to understand how Kawa macro hygiene works. -- --Per Bothner per@bothner.com http://per.bothner.com/