From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#41381: 28.0.50; Can't compile file containing a local pcase macro Date: Wed, 03 Jun 2020 21:59:36 +0000 Message-ID: <87pnaf6caf.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="102588"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 41381@debbugs.gnu.org To: Philipp Stephani Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jun 04 00:00:11 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jgbQh-000QZY-0q for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 Jun 2020 00:00:11 +0200 Original-Received: from localhost ([::1]:36500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgbQf-00016j-TS for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 03 Jun 2020 18:00:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgbQY-00016W-Fl for bug-gnu-emacs@gnu.org; Wed, 03 Jun 2020 18:00:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:33137) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jgbQY-0001NY-3X for bug-gnu-emacs@gnu.org; Wed, 03 Jun 2020 18:00:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jgbQY-0003cs-07 for bug-gnu-emacs@gnu.org; Wed, 03 Jun 2020 18:00:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 03 Jun 2020 22:00:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41381 X-GNU-PR-Package: emacs Original-Received: via spool by 41381-submit@debbugs.gnu.org id=B41381.159122159313894 (code B ref 41381); Wed, 03 Jun 2020 22:00:01 +0000 Original-Received: (at 41381) by debbugs.gnu.org; 3 Jun 2020 21:59:53 +0000 Original-Received: from localhost ([127.0.0.1]:44683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgbQO-0003c1-ML for submit@debbugs.gnu.org; Wed, 03 Jun 2020 17:59:52 -0400 Original-Received: from mail-io1-f47.google.com ([209.85.166.47]:34958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgbQM-0003bn-WE for 41381@debbugs.gnu.org; Wed, 03 Jun 2020 17:59:51 -0400 Original-Received: by mail-io1-f47.google.com with SMTP id s18so4111953ioe.2 for <41381@debbugs.gnu.org>; Wed, 03 Jun 2020 14:59:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=JB+nB7tWWAar6Nf49McN1K7n+BLrWz2mZYviLx2eNd8=; b=ghViBhmfwozRlMqSnkac0CNeAGHPdGjFQokXBN/Nq+xIHs9hH69+xm7vO20xu5A/8J yK0ildK8raLzMYO7j4YYOZjl+hP6lzDR7E/cxZ2pOLYQBGtlxCD3/QMqtDpLln9XCEm2 I8luThWOHibyk/cOR3JN4oSFf7SqWx6LGURoaOG+lV+SB4UCpn96J7Or61pJwnuwxDPa QcU0isyvv2aKOm7gjNojMqWGbsGQF/pbfcyqFq25er1qHWfy1C2qcm6+PppPRndynfob pPEX4TF/S6l8pQStPLqQlUJ0QkaTK70YZBTV0KVpc+0X5gt43eLJeX9s186dOx0zRW1s MaVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=JB+nB7tWWAar6Nf49McN1K7n+BLrWz2mZYviLx2eNd8=; b=K9G0b3XNXm2uqUY25rso7+42z0aMVI0FFY9RATcU+RwbxyOFKNqsyH+IvB8aKrYw6t QwbcX26+MuPQ+JI51dve5ef7qdTGJTTMlat3fhzHhuXxRlw1dBdYFTTLpoanmM+wwmiX DU5qBJPQ6U+lZQLWVtEPYbxKU04zVL270QyU7w6yYmSxA4NpPhq4K50SHb4QOfMaYik1 mvmEvI6I0xIQSdKsyr/sYaYq7bAB28u6EVebbv88RnvQviUocXQrGIgKG+5SoukZL3yp I4NsHOkTFEtL38xnfp7BuY34so1Hx3xSlfRTaoWqgZkqHAcSDthWfHJXFrVPYS27rr/Y 3EnA== X-Gm-Message-State: AOAM532z4GWsnu0Ch99PAxcdgPxKmzRseEX4++Pfw/AbD5A3LSicBVyR womX7VPS3n3E70PPuWcjoYfb4FDdwSo= X-Google-Smtp-Source: ABdhPJxKSM81aQYDWNj3G2Uo4RZvgpwsRzRmekq4Z2seqVYBoqRLUAdvvQ582k5AA7kSsF1DifeluA== X-Received: by 2002:a02:9a03:: with SMTP id b3mr1778028jal.76.1591221585163; Wed, 03 Jun 2020 14:59:45 -0700 (PDT) Original-Received: from chametz ([149.202.238.204]) by smtp.gmail.com with ESMTPSA id n1sm385563ilm.55.2020.06.03.14.59.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jun 2020 14:59:44 -0700 (PDT) In-Reply-To: (Philipp Stephani's message of "Mon, 18 May 2020 23:23:24 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:181482 Archived-At: Philipp Stephani writes: > $ cat test.el > ;;; -*- lexical-binding: t; -*- > (pcase-defmacro test () '_) > (defun test () (pcase nil ((test)))) > > $ emacs -Q -batch -l bytecomp -f batch-byte-compile test.el > > In toplevel form: > test.el:3:1: Error: Symbol=E2=80=99s function definition is void: test--p= case-macroexpander > > It works if the pcase macro is surrounded with `eval-when-compile', but > that shouldn't be necessary I think. Wouldn't it be better to surround the pcase-defmacro call with (eval-and-compile ...)? I think it would be great if there were some clever way to make eager macro expansion less eager, so things like evaluating the following two expressions one after another (defmacro foo () 3) (progn (defmacro foo () 4) (foo)) would produce the right result (4 rather than 3). That would solve this problem as well, but it's probably impossible to do with reasonable performance.