From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 23 22:42:04 2012 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 From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 24 16:38:21 2012 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))))) From unknown Mon Jun 23 22:04:30 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 23 Dec 2012 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator