From unknown Sun Jun 22 04:37:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Oct 2014 23:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18821 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 18821@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Reply-To: michael_heerdegen@web.de Received: via spool by submit@debbugs.gnu.org id=B.14141924753202 (code B ref -1); Fri, 24 Oct 2014 23:15:02 +0000 Received: (at submit) by debbugs.gnu.org; 24 Oct 2014 23:14:35 +0000 Received: from localhost ([127.0.0.1]:34407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xho43-0000pa-2u for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60846) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xho41-0000pM-BM for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xho3o-0004P4-Nt for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43148) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xho3o-0004Oy-LH for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34333) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xho3i-0002it-DA for bug-gnu-emacs@gnu.org; Fri, 24 Oct 2014 19:14:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xho3c-0004OF-61 for bug-gnu-emacs@gnu.org; Fri, 24 Oct 2014 19:14:14 -0400 Received: from mout.web.de ([212.227.17.11]:49643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xho3b-0004Nz-Sn for bug-gnu-emacs@gnu.org; Fri, 24 Oct 2014 19:14:08 -0400 Received: from drachen.dragon ([90.187.217.112]) by smtp.web.de (mrweb101) with ESMTPSA (Nemesis) id 0LetYx-1YShFK0mb9-00qhjW for ; Sat, 25 Oct 2014 01:14:05 +0200 From: Michael Heerdegen Date: Sat, 25 Oct 2014 01:13:36 +0200 Message-ID: <87bnp1ukm7.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:DBE/evF5kBaiXF7X7CJyZiMfDpQm1t/P/dQcaFnnl3CRvWdV2mb VhpWJ1GUHk2XynFmW10uJfkln0kPD5wrfGI2F7nXlwuas+4GJG0byxB4r/5srdHWDZFpl+f nETCJTriECulh/YvfQilRLqudmw3glTJ317aE0busIDaJpCHuHLl8kX9V4H//q6bcU8xxYi +oP27WxphGlEyG5QRxS6w== X-UI-Out-Filterresults: notjunk:1; X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Hello, this is a feature request. The problem is the following: When writing a complex macro, one often wants to check some examples to see if it expands code as intended. There are different ways of doing that: M-x pp-macroexpand-expression or M-x emacs-lisp-macroexpand for example. But there is a problem: if the macro expansion is a toplevel call to some other macro, this one will also be expanded, because the above commands use `macroexpand' which successively expands until the result is not a macro call. This is not useful for checking macro expansions. I want to suggest to alter `pp-macroexpand-expression', or to provide a new command, based on a function that expands only one time like (defun macroexpand1 (expr) (apply (cdr (symbol-function (car expr))) (cdr expr))) (This can no doubt be improved, e.g. to DTRT for autoloaded macros.) Or did I miss something? Opinions? Thanks, Michael. In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.1) of 2014-10-17 on drachen Windowing system distributor `The X.Org Foundation', version 11.0.11601000 System Description: Debian GNU/Linux testing (jessie) From unknown Sun Jun 22 04:37:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 Oct 2014 17:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18821 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 18821@debbugs.gnu.org Received: via spool by 18821-submit@debbugs.gnu.org id=B18821.14145156405125 (code B ref 18821); Tue, 28 Oct 2014 17:01:01 +0000 Received: (at 18821) by debbugs.gnu.org; 28 Oct 2014 17:00:40 +0000 Received: from localhost ([127.0.0.1]:37950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjA8N-0001Ka-Th for submit@debbugs.gnu.org; Tue, 28 Oct 2014 13:00:40 -0400 Received: from mercure.iro.umontreal.ca ([132.204.24.67]:35989) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjA8L-0001KR-DH for 18821@debbugs.gnu.org; Tue, 28 Oct 2014 13:00:38 -0400 Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id CA5E484FCC; Tue, 28 Oct 2014 13:00:35 -0400 (EDT) Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id E527A1E5874; Tue, 28 Oct 2014 13:00:09 -0400 (EDT) Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 98646B4245; Tue, 28 Oct 2014 13:00:09 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87bnp1ukm7.fsf@web.de> Date: Tue, 28 Oct 2014 13:00:09 -0400 In-Reply-To: <87bnp1ukm7.fsf@web.de> (Michael Heerdegen's message of "Sat, 25 Oct 2014 01:13:36 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-Spam-Status: No X-Spam-Score: -2.9 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.9 (--) > (defun macroexpand1 (expr) > (apply (cdr (symbol-function (car expr))) (cdr expr))) Daniel Colascione already submitted a patch that provides a macroexpand1. And if that's not sufficient I also wrote my own. The only reason I haven't installed it is because it would make a lot of sense to reimplement `macroexpand' (in Elisp) on top of `macroexpand1', but when I tried that, byte-compilation slowed down by about 5%, which seemed excessive (especially since it reflects an even larger slowdown of macroexpansion itself, tho I haven't measured that in more detail). Stefan (defun macroexp-expand-1 (form environment) "Perform (at most) one step of macroexpansion." (cond ((consp form) (let* ((head (car form)) (env-expander (assq head environment))) (if env-expander (if (cdr env-expander) (apply (cdr env-expander) (cdr form)) form) (if (not (and (symbolp head) (fboundp head))) form (let ((def (autoload-do-load (symbol-function head) head 'macro))) (cond ;; Follow alias, but only for macros, otherwise we may end up ;; skipping an important compiler-macro (e.g. cl--block-wrapper). ((and (symbolp def) (macrop def)) (cons def (cdr form))) ((not (consp def)) form) (t (if (eq 'macro (car def)) (apply (cdr def) (cdr form)) form)))))))) (t form))) From unknown Sun Jun 22 04:37:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 29 Oct 2014 03:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18821 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 18821@debbugs.gnu.org Received: via spool by 18821-submit@debbugs.gnu.org id=B18821.14145548542759 (code B ref 18821); Wed, 29 Oct 2014 03:55:02 +0000 Received: (at 18821) by debbugs.gnu.org; 29 Oct 2014 03:54:14 +0000 Received: from localhost ([127.0.0.1]:38174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjKKr-0000iQ-Mg for submit@debbugs.gnu.org; Tue, 28 Oct 2014 23:54:13 -0400 Received: from mout.web.de ([212.227.17.12]:56593) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjKKo-0000iA-MU for 18821@debbugs.gnu.org; Tue, 28 Oct 2014 23:54:11 -0400 Received: from drachen.dragon ([90.187.250.99]) by smtp.web.de (mrweb103) with ESMTPSA (Nemesis) id 0M9XM3-1XwDyP3NnD-00D1NY; Wed, 29 Oct 2014 04:54:03 +0100 From: Michael Heerdegen References: <87bnp1ukm7.fsf@web.de> Date: Wed, 29 Oct 2014 04:53:56 +0100 In-Reply-To: (Stefan Monnier's message of "Tue, 28 Oct 2014 13:00:09 -0400") Message-ID: <87r3xrttt7.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:N9IimmMxftcqEHQZ4H++Zf2n3rJs1oczsT8dXSU6HV8xI4nb84F Ld3JA79HTgtR0+3xWQVEPWpWBhxD8rV/kANBeXb4e235jGqPdydv6+/j0rzT0Fh51A55N87 HYk8w1B5taQyWRNRz4RelGEYP8OQjbzR4vNYsYoVWPYPW2ytoZEjGZrfXBIrIifndF1ARMD nfgID9ziW4m7lOcbqu+hw== X-UI-Out-Filterresults: notjunk:1; X-Spam-Score: -0.6 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) Stefan Monnier writes: > Daniel Colascione already submitted a patch that provides a > macroexpand1. And if that's not sufficient I also wrote my own. The > only reason I haven't installed it is because it [...] Ok, thanks for the info. I think that this macroexpand1 should also be made available via some command. Michael. From unknown Sun Jun 22 04:37:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 31 Oct 2014 21:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18821 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Michael Heerdegen Cc: 18821@debbugs.gnu.org Received: via spool by 18821-submit@debbugs.gnu.org id=B18821.14147914282145 (code B ref 18821); Fri, 31 Oct 2014 21:38:01 +0000 Received: (at 18821) by debbugs.gnu.org; 31 Oct 2014 21:37:08 +0000 Received: from localhost ([127.0.0.1]:44174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XkJsZ-0000YW-Jc for submit@debbugs.gnu.org; Fri, 31 Oct 2014 17:37:07 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:32333) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XkJsX-0000Xy-5c for 18821@debbugs.gnu.org; Fri, 31 Oct 2014 17:37:05 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvAMAOatTlRFpY87/2dsb2JhbABcgw6DYoZ+yDmDGgQCAoEcFwEBfIQDAQEDAVYjEAs0EhQYDSSISwnLcgEBAQEBAQQBAQEBHpEIB4RLBbIggW+EFCGCegEBAQ X-IPAS-Result: AvAMAOatTlRFpY87/2dsb2JhbABcgw6DYoZ+yDmDGgQCAoEcFwEBfIQDAQEDAVYjEAs0EhQYDSSISwnLcgEBAQEBAQQBAQEBHpEIB4RLBbIggW+EFCGCegEBAQ X-IronPort-AV: E=Sophos;i="5.04,797,1406606400"; d="scan'208";a="95701902" Received: from 69-165-143-59.dsl.teksavvy.com (HELO pastel.home) ([69.165.143.59]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 31 Oct 2014 17:36:59 -0400 Received: by pastel.home (Postfix, from userid 20848) id 51F3D8592; Fri, 31 Oct 2014 17:36:59 -0400 (EDT) From: Stefan Monnier Message-ID: References: <87bnp1ukm7.fsf@web.de> <87r3xrttt7.fsf@web.de> Date: Fri, 31 Oct 2014 17:36:59 -0400 In-Reply-To: <87r3xrttt7.fsf@web.de> (Michael Heerdegen's message of "Wed, 29 Oct 2014 04:53:56 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> Daniel Colascione already submitted a patch that provides a >> macroexpand1. And if that's not sufficient I also wrote my own. The >> only reason I haven't installed it is because it [...] > Ok, thanks for the info. I think that this macroexpand1 should also be > made available via some command. I installed my macroexpand-1 into trunk. Stefan From unknown Sun Jun 22 04:37:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 02 Nov 2014 04:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18821 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 18821@debbugs.gnu.org Received: via spool by 18821-submit@debbugs.gnu.org id=B18821.141490126715878 (code B ref 18821); Sun, 02 Nov 2014 04:08:02 +0000 Received: (at 18821) by debbugs.gnu.org; 2 Nov 2014 04:07:47 +0000 Received: from localhost ([127.0.0.1]:44984 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XkmSA-000482-Rp for submit@debbugs.gnu.org; Sun, 02 Nov 2014 00:07:47 -0400 Received: from mout.web.de ([212.227.17.11]:56562) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XkmS9-00047n-3m for 18821@debbugs.gnu.org; Sun, 02 Nov 2014 00:07:45 -0400 Received: from drachen.dragon ([90.186.247.135]) by smtp.web.de (mrweb102) with ESMTPSA (Nemesis) id 0M89z3-1Xxefm313h-00vffw; Sun, 02 Nov 2014 05:07:35 +0100 From: Michael Heerdegen References: <87bnp1ukm7.fsf@web.de> <87r3xrttt7.fsf@web.de> Date: Sun, 02 Nov 2014 05:07:29 +0100 In-Reply-To: (Stefan Monnier's message of "Fri, 31 Oct 2014 17:36:59 -0400") Message-ID: <87wq7eutxa.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:2Cd8NzB8pEsb4cuMg30UgGA+nVlRrqQy8LXs/sa/3FXjxqQhOEp wNmUciAjQWr2egcY7SHtdhcfWfMEoZMOn9MZ1l/YQ7g4gV9s/2JAHxN9k3JKevk7bVmP8yO 7iws4Pq5AcdGCyt9UC7ScYq6GLAaZ7Yv+CVNJ5p+l833tQrmKO4hK+f8MsR+HKQo3b+HV82 FIGobu4/Xe2U+5jyLY3YQ== X-UI-Out-Filterresults: notjunk:1; X-Spam-Score: -0.6 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) Stefan Monnier writes: > I installed my macroexpand-1 into trunk. Thanks! Do you think that `pp-macroexpand-expression' and `pp-macroexpand-last-sexp' should use it? I don't use these, but they seem to be intended mainly for testing, where `macroexpand-1' would makes more sense then `macroexpand'. If you think the question is not important cause nobody uses the pp-macroexpand stuff (dunno), feel free to close. Thanks, Michael. From unknown Sun Jun 22 04:37:24 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: michael_heerdegen@web.de Subject: bug#18821: closed (Re: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once) Message-ID: References: <87bnp1ukm7.fsf@web.de> X-Gnu-PR-Message: they-closed 18821 X-Gnu-PR-Package: emacs Reply-To: 18821@debbugs.gnu.org Date: Sun, 02 Nov 2014 05:47:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1414907222-26015-1" This is a multi-part message in MIME format... ------------=_1414907222-26015-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #18821: 25.0.50; Let pp-macroexpand-expression expand only once which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 18821@debbugs.gnu.org. --=20 18821: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D18821 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1414907222-26015-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 18821-done) by debbugs.gnu.org; 2 Nov 2014 05:46:32 +0000 Received: from localhost ([127.0.0.1]:45000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xknzj-0006ko-PZ for submit@debbugs.gnu.org; Sun, 02 Nov 2014 01:46:31 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:20835) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xknzh-0006ka-7v for 18821-done@debbugs.gnu.org; Sun, 02 Nov 2014 01:46:29 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvAMAOatTlRFpY87/2dsb2JhbABcgw6DYoZ+yDmDGgQCAoEcFwEBfIQDAQEDAVYjEAs0EhQYDSSISwnLcgEBAQEBAQQBAQEBHpEIB4RLBbIggW+EFCGCegEBAQ X-IPAS-Result: AvAMAOatTlRFpY87/2dsb2JhbABcgw6DYoZ+yDmDGgQCAoEcFwEBfIQDAQEDAVYjEAs0EhQYDSSISwnLcgEBAQEBAQQBAQEBHpEIB4RLBbIggW+EFCGCegEBAQ X-IronPort-AV: E=Sophos;i="5.04,797,1406606400"; d="scan'208";a="95781768" Received: from 69-165-143-59.dsl.teksavvy.com (HELO ceviche.home) ([69.165.143.59]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 02 Nov 2014 01:46:23 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 640E766108; Sun, 2 Nov 2014 01:46:23 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#18821: 25.0.50; Let pp-macroexpand-expression expand only once Message-ID: References: <87bnp1ukm7.fsf@web.de> <87r3xrttt7.fsf@web.de> <87wq7eutxa.fsf@web.de> Date: Sun, 02 Nov 2014 01:46:23 -0400 In-Reply-To: <87wq7eutxa.fsf@web.de> (Michael Heerdegen's message of "Sun, 02 Nov 2014 05:07:29 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 18821-done Cc: 18821-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> I installed my macroexpand-1 into trunk. > Thanks! > Do you think that `pp-macroexpand-expression' and > `pp-macroexpand-last-sexp' should use it? Oh, yes, of course. Same for emacs-lisp-macroexpand. Sorry for forgetting about the actual bug report. It's done now, Stefan ------------=_1414907222-26015-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 24 Oct 2014 23:14:35 +0000 Received: from localhost ([127.0.0.1]:34407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xho43-0000pa-2u for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60846) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xho41-0000pM-BM for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xho3o-0004P4-Nt for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43148) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xho3o-0004Oy-LH for submit@debbugs.gnu.org; Fri, 24 Oct 2014 19:14:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34333) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xho3i-0002it-DA for bug-gnu-emacs@gnu.org; Fri, 24 Oct 2014 19:14:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xho3c-0004OF-61 for bug-gnu-emacs@gnu.org; Fri, 24 Oct 2014 19:14:14 -0400 Received: from mout.web.de ([212.227.17.11]:49643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xho3b-0004Nz-Sn for bug-gnu-emacs@gnu.org; Fri, 24 Oct 2014 19:14:08 -0400 Received: from drachen.dragon ([90.187.217.112]) by smtp.web.de (mrweb101) with ESMTPSA (Nemesis) id 0LetYx-1YShFK0mb9-00qhjW for ; Sat, 25 Oct 2014 01:14:05 +0200 From: Michael Heerdegen To: bug-gnu-emacs@gnu.org Subject: 25.0.50; Let pp-macroexpand-expression expand only once Date: Sat, 25 Oct 2014 01:13:36 +0200 Message-ID: <87bnp1ukm7.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:DBE/evF5kBaiXF7X7CJyZiMfDpQm1t/P/dQcaFnnl3CRvWdV2mb VhpWJ1GUHk2XynFmW10uJfkln0kPD5wrfGI2F7nXlwuas+4GJG0byxB4r/5srdHWDZFpl+f nETCJTriECulh/YvfQilRLqudmw3glTJ317aE0busIDaJpCHuHLl8kX9V4H//q6bcU8xxYi +oP27WxphGlEyG5QRxS6w== X-UI-Out-Filterresults: notjunk:1; X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: michael_heerdegen@web.de List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Hello, this is a feature request. The problem is the following: When writing a complex macro, one often wants to check some examples to see if it expands code as intended. There are different ways of doing that: M-x pp-macroexpand-expression or M-x emacs-lisp-macroexpand for example. But there is a problem: if the macro expansion is a toplevel call to some other macro, this one will also be expanded, because the above commands use `macroexpand' which successively expands until the result is not a macro call. This is not useful for checking macro expansions. I want to suggest to alter `pp-macroexpand-expression', or to provide a new command, based on a function that expands only one time like (defun macroexpand1 (expr) (apply (cdr (symbol-function (car expr))) (cdr expr))) (This can no doubt be improved, e.g. to DTRT for autoloaded macros.) Or did I miss something? Opinions? Thanks, Michael. In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.1) of 2014-10-17 on drachen Windowing system distributor `The X.Org Foundation', version 11.0.11601000 System Description: Debian GNU/Linux testing (jessie) ------------=_1414907222-26015-1--