all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thomas Fitzsimmons <fitzsim@fitzsim.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: [elpa] excorporate.el:257:23:Error: Wrong type argument: listp, start-exco--fsm
Date: Sun, 10 Jul 2016 11:17:05 -0400	[thread overview]
Message-ID: <m3poqlbk0e.fsf@fitzsim.org> (raw)
In-Reply-To: <jwv8tx9h8o9.fsf-monnier+gmane.emacs.devel@gnu.org> (Stefan Monnier's message of "Sun, 10 Jul 2016 10:26:33 -0400")

Stefan Monnier <monnier@iro.umontreal.ca> 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



  reply	other threads:[~2016-07-10 15:17 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-08 10:56 [elpa] excorporate.el:257:23:Error: Wrong type argument: listp, start-exco--fsm Mario Lang
2016-07-08 18:34 ` Paul Eggert
2016-07-08 20:12   ` Thomas Fitzsimmons
2016-07-10 13:08     ` Mario Lang
2016-07-10 14:26       ` Stefan Monnier
2016-07-10 15:17         ` Thomas Fitzsimmons [this message]
2016-07-10 15:20           ` Stefan Monnier
2016-07-10 15:28             ` Stefan Monnier
2016-07-10 16:22               ` Thomas Fitzsimmons
2016-07-10 20:14                 ` [elpa] packages/rudel/rudel-display.el:40:1:Error: eieio-oref called on a class: rudel-backend-factory Mario Lang
2016-07-10 21:27                   ` Stefan Monnier
2016-07-10 22:19                     ` Stefan Monnier
2016-07-12 21:52                       ` Mario Lang
2016-07-10 13:08     ` bug#23920: [elpa] excorporate.el:257:23:Error: Wrong type argument: listp, start-exco--fsm Mario Lang
2016-07-10 16:24       ` Thomas Fitzsimmons

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3poqlbk0e.fsf@fitzsim.org \
    --to=fitzsim@fitzsim.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.