From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#15814: 24.3.50; Signal error on malformed bindings in `cl-symbol-macrolet' (patch) Date: Wed, 06 Nov 2013 08:45:24 -0500 Message-ID: References: <87k3gmmvk9.fsf@nbtrap.com> <87a9himfvp.fsf@nbtrap.com> <87ppqd2314.fsf@nbtrap.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1383745580 12728 80.91.229.3 (6 Nov 2013 13:46:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 6 Nov 2013 13:46:20 +0000 (UTC) Cc: 15814@debbugs.gnu.org To: Nathan Trapuzzano Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Nov 06 14:46:23 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1Ve3R7-0007Rr-Qf for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Nov 2013 14:46:21 +0100 Original-Received: from localhost ([::1]:34091 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ve3R7-0003ib-Em for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Nov 2013 08:46:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59813) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ve3Qv-0003fa-Ew for bug-gnu-emacs@gnu.org; Wed, 06 Nov 2013 08:46:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ve3Qo-0006FV-5y for bug-gnu-emacs@gnu.org; Wed, 06 Nov 2013 08:46:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51129) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ve3Qo-0006FR-2I for bug-gnu-emacs@gnu.org; Wed, 06 Nov 2013 08:46:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Ve3Qn-0007ko-MJ for bug-gnu-emacs@gnu.org; Wed, 06 Nov 2013 08:46:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Nov 2013 13:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15814 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 15814-submit@debbugs.gnu.org id=B15814.138374553329760 (code B ref 15814); Wed, 06 Nov 2013 13:46:01 +0000 Original-Received: (at 15814) by debbugs.gnu.org; 6 Nov 2013 13:45:33 +0000 Original-Received: from localhost ([127.0.0.1]:36915 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ve3QK-0007jw-Pa for submit@debbugs.gnu.org; Wed, 06 Nov 2013 08:45:32 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:3656) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ve3QI-0007ji-L1 for 15814@debbugs.gnu.org; Wed, 06 Nov 2013 08:45:31 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFxLzd/2dsb2JhbABEuzWDWRdzgh4BAQQBViMQCw4mEhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFFFxLzd/2dsb2JhbABEuzWDWRdzgh4BAQQBViMQCw4mEhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="37209241" Original-Received: from 69-196-188-221.dsl.teksavvy.com (HELO pastel.home) ([69.196.188.221]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 06 Nov 2013 08:45:24 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 211266009C; Wed, 6 Nov 2013 08:45:24 -0500 (EST) In-Reply-To: <87ppqd2314.fsf@nbtrap.com> (Nathan Trapuzzano's message of "Wed, 06 Nov 2013 06:16:55 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:80077 Archived-At: >>> (let ((msg (format "Malformed `cl-symbol-macrolet' binding: %S" >>> (car bindings)))) >>> (macroexp--warn-and-return msg `(error "%s" ,msg))) >> Signaling an error stops the whole compilation, so you only get one >> error at a time. Better make it a warning, even though it is indeed >> a programming error. > And then signal the error at run time? Do I understand you correctly > about that? Check other uses of macroexp--warn-and-return (there aren't many). It doesn't signal any error at all. But they do emit warnings either during compilation or while loading an interpreted file. >> No, I mean that they should be performed in macroexp--expand-all rather >> than in cconv, so they're performed regardless of lexical-binding >> (currently they're done once in cconv.el and once in bytecomp.el). > This wouldn't work since there's no guarantee that any particular form > passes through macroexp--expand-all, not in the interpreter at least. As I said, currently it's performed in bytecomp.el and cconv.el, and there's no way to get to either of those two without going through macroexp--expand-all first. So, yes, there is a guarantee. When loading an interpreted file, we go through macroexp--expand-all as well (not not through cconv.el nor through bytecomp.el). Stefan