From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thomas Fitzsimmons Newsgroups: gmane.emacs.devel Subject: Re: [elpa] excorporate.el:257:23:Error: Wrong type argument: listp, start-exco--fsm Date: Sun, 10 Jul 2016 11:17:05 -0400 Message-ID: References: <87zipsqtyt.fsf@fx.delysid.org> <577FF235.9040304@cs.ucla.edu> <87eg71myi7.fsf@fx.delysid.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1468163878 1475 80.91.229.3 (10 Jul 2016 15:17:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 10 Jul 2016 15:17:58 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 10 17:17:52 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bMGUS-000253-Eb for ged-emacs-devel@m.gmane.org; Sun, 10 Jul 2016 17:17:52 +0200 Original-Received: from localhost ([::1]:55587 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMGUR-0000xw-Ey for ged-emacs-devel@m.gmane.org; Sun, 10 Jul 2016 11:17:51 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42442) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMGTo-0000wB-3T for emacs-devel@gnu.org; Sun, 10 Jul 2016 11:17:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMGTk-00066B-Bb for emacs-devel@gnu.org; Sun, 10 Jul 2016 11:17:10 -0400 Original-Received: from mail-it0-x22a.google.com ([2607:f8b0:4001:c0b::22a]:37781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMGTk-000657-6L for emacs-devel@gnu.org; Sun, 10 Jul 2016 11:17:08 -0400 Original-Received: by mail-it0-x22a.google.com with SMTP id f6so38143074ith.0 for ; Sun, 10 Jul 2016 08:17:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fitzsim-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=Qr//xPNSMZdUFoPJT62R2oAuR9zhJ0RNRIgTkRYjPeM=; b=phrFzclCV9gb9Kf7p+iOjbgyag5dfoevJxAXwuE4a0o40R0mULXV0QeVeWivNF2pXi zdvyqGLla1pInuSjOuKsnHDVal5CXmFMiv3qCXqF2oSWLIa8qbAuQKWABo1ohuLXiMZW 9584FQsglKOCQDOp+Q6Lm5n2EDDLhYwAlrwWPiIcwFwO5VYGselG8Pp1D8E45rvDhgmo nk9c5Z6vsaJ0mcWlTcOb/R/v6XXm203LC5wUBmoW6tcnMknYRaNIrvxnWekKRSnkZGYo acMfiz5Zi3eyMIxaUf9u3s/cu5bNIUml4mnR9u6Sa6R9JPiiZWzeQ3AlzEEmF9pYIgOX ZFrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=Qr//xPNSMZdUFoPJT62R2oAuR9zhJ0RNRIgTkRYjPeM=; b=JPi2vAmE2TOEb6sNXGvP1i5aP3yMzZqQM3r4iEhtT5xPnlv0Z1r1e6BcU0gKMuX87J WIjam5Uttzfd9ph+DSOfw5AFkGGuLydryaPkuAPF9ipgZ0LUe89nNhygFbgh8YoLGfTJ RdvOjVaUPNJeF3FPldoKlufbPaoO/p9PyoDfqqzid/GAL17nzhlzQNgSg9pGzc1mBsWa X6HI/cnPMsPIc8kgL9SWNpMPk0Rz6HwI7nhQ2+T3Qjegva1qN8M+8qZ9F8xWBFX690GU HokPr491H75fEc1cEOrVhjPv5LGxfWt0iDY/B1iPzeGQetjRil8r+PL5PDpwY5I3AbL4 sX1w== X-Gm-Message-State: ALyK8tJaR0meZB2+i/547Z/bfciHFs7QOhH4hqVwcVvcWU3D0X1ee013iYKweuggdzHMsQ== X-Received: by 10.36.85.13 with SMTP id e13mr6429768itb.56.1468163827269; Sun, 10 Jul 2016 08:17:07 -0700 (PDT) Original-Received: from hp-dv5t (69-165-165-189.dsl.teksavvy.com. [69.165.165.189]) by smtp.gmail.com with ESMTPSA id q84sm5676957itd.16.2016.07.10.08.17.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Jul 2016 08:17:06 -0700 (PDT) In-Reply-To: (Stefan Monnier's message of "Sun, 10 Jul 2016 10:26:33 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4001:c0b::22a X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:205504 Archived-At: Stefan Monnier writes: >> So the problem seems to be that compilation order is relevant. If fsm >> is loaded uncompiled, it fails. >> I wonder if this is consider a bug in fsm.el, > > It does sound like a bug in fsm.el (tho it might be a bug > elsewhere, of course). > >> or if we shall add the above quick fix to the GNUMakefile. > > Not without first understanding the nature of the problem. Agreed. I've been experimenting with macro expansions of define-state-machine. I don't know the last time I did a clean build of ELPA, and that's the only time it shows up (i.e., when fsm.elc doesn't exist yet). Maybe this won't have shown up in nightly builds for the same reason. It'd be interesting to know when it started happening, since I hadn't seen it while building ELPA, before Mario's report. When I added fsm.el to ELPA I changed it to use lexical binding. The issue seems to be related that, and to evaluating a lambda at macro expansion time. The compiler doesn't like the generated closure's environment. I test this patch, and it works: --- a/packages/fsm/fsm.el +++ b/packages/fsm/fsm.el @@ -186,7 +186,7 @@ (cl-defmacro define-state-machine (name &key start sleep) (put fsm :name ',name) (put fsm :state nil) (put fsm :state-data nil) - (put fsm :sleep ,(or sleep (lambda (secs) + (put fsm :sleep ,(or sleep '(lambda (secs) (accept-process-output nil secs)))) (put fsm :deferred nil) But I'm still not sure exactly why the compiler complains about the closure environment. Thomas