From unknown Mon Jun 23 22:05:34 2025 X-Loop: help-debbugs@gnu.org Subject: bug#12977: defmacro* does not process declare options Resent-From: Juanma Barranquero Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 24 Nov 2012 03:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12977 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 12977@debbugs.gnu.org X-Debbugs-Original-To: Bug-Gnu-Emacs Received: via spool by submit@debbugs.gnu.org id=B.135372852420570 (code B ref -1); Sat, 24 Nov 2012 03:43:01 +0000 Received: (at submit) by debbugs.gnu.org; 24 Nov 2012 03:42:04 +0000 Received: from localhost ([127.0.0.1]:35664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tc6d1-0005Lh-Ax for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:42:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56096) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tc6cx-0005LI-3c for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:42:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tc6bU-0008DO-QU for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:40:29 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:40461) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc6bU-0008DI-N1 for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:40:28 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc6bT-0007RZ-W7 for bug-gnu-emacs@gnu.org; Fri, 23 Nov 2012 22:40:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tc6bT-0008D5-8J for bug-gnu-emacs@gnu.org; Fri, 23 Nov 2012 22:40:27 -0500 Received: from mail-ee0-f41.google.com ([74.125.83.41]:62676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc6bT-0008D1-0L for bug-gnu-emacs@gnu.org; Fri, 23 Nov 2012 22:40:27 -0500 Received: by mail-ee0-f41.google.com with SMTP id d41so6363406eek.0 for ; Fri, 23 Nov 2012 19:40:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=s4Jm96dxIl6ZZwV7Yv9feWnBYk5sCUSXzPDw1lulmAw=; b=JuxZD3v057exxoI1kEuo4B3G4SGMHUCF2pccEcXi/1EMoZ8D321sFIsNr5pLub3ezU SzDpmqGlGsjjwaV37QJcLOOSK2GKYyMCnEjGEMtYPm/GuD7MrqzmUL4UPBPQi+i5QpFh xIQI/xnhu68GE13lBb2pGXsccjzh05eiGwjCs3r1Yg0ULHikK1RjIqquspVo+nDzlmkY kjYg+6AVbR6fh/oYP1Em+aZOsNRD+2AoIOZxdXg7+FfROkBrnUm5z3+lmO11rHyGjCts voUJesb1tVlyzQkYd/Zv3GA9mwdvHGemZIvqym84KEsrE9RXKvqB3pVZ0YcJte1yI4xl 1v5A== Received: by 10.14.210.200 with SMTP id u48mr20235585eeo.29.1353728425677; Fri, 23 Nov 2012 19:40:25 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.4.209 with HTTP; Fri, 23 Nov 2012 19:39:44 -0800 (PST) From: Juanma Barranquero Date: Sat, 24 Nov 2012 04:39:44 +0100 Message-ID: Content-Type: text/plain; charset=UTF-8 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.4 (---) Package: emacs Version: 24.2.50 This is a regression in 24.3 emacs -Q and evaluate (let (sp1 sp2) (require 'cl) (setf (symbol-plist 'whereas) nil) (makunbound 'whereas) (defmacro* whereas ((var test) &rest body) (declare (indent 1)) `(let ((,var ,test)) (when ,var ,@body))) (setq sp1 (symbol-plist 'whereas)) (defmacro whereas (var test &rest body) (declare (indent 1)) `(let ((var ,test)) (when ,var ,@body))) (setq sp2 (symbol-plist 'whereas)) (list sp1 sp2)) 24.2 => ((lisp-indent-function 1) (lisp-indent-function 1)) 24.2.50 => (nil (lisp-indent-function 1)) Juanma From unknown Mon Jun 23 22:05:34 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Juanma Barranquero Subject: bug#12977: closed (Re: bug#12977: defmacro* does not process declare options) Message-ID: References: X-Gnu-PR-Message: they-closed 12977 X-Gnu-PR-Package: emacs Reply-To: 12977@debbugs.gnu.org Date: Sat, 24 Nov 2012 21:39:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1353793144-27976-1" This is a multi-part message in MIME format... ------------=_1353793144-27976-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #12977: defmacro* does not process declare options 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 12977@debbugs.gnu.org. --=20 12977: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12977 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1353793144-27976-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 12977-done) by debbugs.gnu.org; 24 Nov 2012 21:38:21 +0000 Received: from localhost ([127.0.0.1]:37037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TcNQa-0007Ep-Vk for submit@debbugs.gnu.org; Sat, 24 Nov 2012 16:38:21 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:40991) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TcNQZ-0007Ei-6B for 12977-done@debbugs.gnu.org; Sat, 24 Nov 2012 16:38:20 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id qAOLagIt008224; Sat, 24 Nov 2012 16:36:43 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id AF779AE046; Sat, 24 Nov 2012 16:36:41 -0500 (EST) From: Stefan Monnier To: Juanma Barranquero Subject: Re: bug#12977: defmacro* does not process declare options Message-ID: References: Date: Sat, 24 Nov 2012 16:36:41 -0500 In-Reply-To: (Juanma Barranquero's message of "Sat, 24 Nov 2012 04:39:44 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4412=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4412> : streams <865020> : uri <1276539> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 12977-done Cc: 12977-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.0 (--) > (defmacro* whereas ((var test) &rest body) > (declare (indent 1)) [...] > 24.2.50 => (nil (lisp-indent-function 1)) Indeed, thanks, should be fixed now on the emacs-24 branch (see patch below). Stefan === modified file 'lisp/emacs-lisp/cl-macs.el' --- lisp/emacs-lisp/cl-macs.el 2012-11-15 21:01:25 +0000 +++ lisp/emacs-lisp/cl-macs.el 2012-11-24 21:30:26 +0000 @@ -216,12 +216,17 @@ (defvar cl--bind-inits) (defvar cl--bind-lets) (defvar cl--bind-forms) (defun cl--transform-lambda (form bind-block) + "Transform a function form FORM of name BIND-BLOCK. +BIND-BLOCK is the name of the symbol to which the function will be bound, +and which will be used for the name of the `cl-block' surrounding the +function's body. +FORM is of the form (ARGS . BODY)." (let* ((args (car form)) (body (cdr form)) (orig-args args) (cl--bind-block bind-block) (cl--bind-defs nil) (cl--bind-enquote nil) (cl--bind-inits nil) (cl--bind-lets nil) (cl--bind-forms nil) (header nil) (simple-args nil)) (while (or (stringp (car body)) - (memq (car-safe (car body)) '(interactive cl-declare))) + (memq (car-safe (car body)) '(interactive declare cl-declare))) (push (pop body) header)) (setq args (if (listp args) (cl-copy-list args) (list '&rest args))) (let ((p (last args))) (if (cdr p) (setcdr p (list '&rest (cdr p))))) ------------=_1353793144-27976-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 24 Nov 2012 03:42:04 +0000 Received: from localhost ([127.0.0.1]:35664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tc6d1-0005Lh-Ax for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:42:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56096) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tc6cx-0005LI-3c for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:42:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tc6bU-0008DO-QU for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:40:29 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:40461) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc6bU-0008DI-N1 for submit@debbugs.gnu.org; Fri, 23 Nov 2012 22:40:28 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc6bT-0007RZ-W7 for bug-gnu-emacs@gnu.org; Fri, 23 Nov 2012 22:40:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tc6bT-0008D5-8J for bug-gnu-emacs@gnu.org; Fri, 23 Nov 2012 22:40:27 -0500 Received: from mail-ee0-f41.google.com ([74.125.83.41]:62676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tc6bT-0008D1-0L for bug-gnu-emacs@gnu.org; Fri, 23 Nov 2012 22:40:27 -0500 Received: by mail-ee0-f41.google.com with SMTP id d41so6363406eek.0 for ; Fri, 23 Nov 2012 19:40:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=s4Jm96dxIl6ZZwV7Yv9feWnBYk5sCUSXzPDw1lulmAw=; b=JuxZD3v057exxoI1kEuo4B3G4SGMHUCF2pccEcXi/1EMoZ8D321sFIsNr5pLub3ezU SzDpmqGlGsjjwaV37QJcLOOSK2GKYyMCnEjGEMtYPm/GuD7MrqzmUL4UPBPQi+i5QpFh xIQI/xnhu68GE13lBb2pGXsccjzh05eiGwjCs3r1Yg0ULHikK1RjIqquspVo+nDzlmkY kjYg+6AVbR6fh/oYP1Em+aZOsNRD+2AoIOZxdXg7+FfROkBrnUm5z3+lmO11rHyGjCts voUJesb1tVlyzQkYd/Zv3GA9mwdvHGemZIvqym84KEsrE9RXKvqB3pVZ0YcJte1yI4xl 1v5A== Received: by 10.14.210.200 with SMTP id u48mr20235585eeo.29.1353728425677; Fri, 23 Nov 2012 19:40:25 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.4.209 with HTTP; Fri, 23 Nov 2012 19:39:44 -0800 (PST) From: Juanma Barranquero Date: Sat, 24 Nov 2012 04:39:44 +0100 Message-ID: Subject: defmacro* does not process declare options To: Bug-Gnu-Emacs Content-Type: text/plain; charset=UTF-8 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.4 (---) Package: emacs Version: 24.2.50 This is a regression in 24.3 emacs -Q and evaluate (let (sp1 sp2) (require 'cl) (setf (symbol-plist 'whereas) nil) (makunbound 'whereas) (defmacro* whereas ((var test) &rest body) (declare (indent 1)) `(let ((,var ,test)) (when ,var ,@body))) (setq sp1 (symbol-plist 'whereas)) (defmacro whereas (var test &rest body) (declare (indent 1)) `(let ((var ,test)) (when ,var ,@body))) (setq sp2 (symbol-plist 'whereas)) (list sp1 sp2)) 24.2 => ((lisp-indent-function 1) (lisp-indent-function 1)) 24.2.50 => (nil (lisp-indent-function 1)) Juanma ------------=_1353793144-27976-1--