From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Newsgroups: gmane.emacs.bugs Subject: bug#9357: 23.3.50; defstruct format bug Date: Wed, 24 Aug 2011 17:35:30 +0800 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1314178603 6180 80.91.229.12 (24 Aug 2011 09:36:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 24 Aug 2011 09:36:43 +0000 (UTC) To: 9357@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 24 11:36:36 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Qw9sy-0007zp-2k for geb-bug-gnu-emacs@m.gmane.org; Wed, 24 Aug 2011 11:36:36 +0200 Original-Received: from localhost ([::1]:40123 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw9sx-0007Xh-1a for geb-bug-gnu-emacs@m.gmane.org; Wed, 24 Aug 2011 05:36:35 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:48489) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw9st-0007XP-Ib for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2011 05:36:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qw9ss-0005v9-Ft for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2011 05:36:31 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48521) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw9ss-0005v5-EM for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2011 05:36:30 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1Qw9vJ-0006KN-Qa; Wed, 24 Aug 2011 05:39:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Leo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: monnier@iro.umontreal.ca, bug-gnu-emacs@gnu.org Resent-Date: Wed, 24 Aug 2011 09:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 9357 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: Stefan Monnier Original-Received: via spool by submit@debbugs.gnu.org id=B.131417870324270 (code B ref -1); Wed, 24 Aug 2011 09:39:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 24 Aug 2011 09:38:23 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Qw9ug-0006JM-IG for submit@debbugs.gnu.org; Wed, 24 Aug 2011 05:38:23 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Qw9ue-0006JE-3N for submit@debbugs.gnu.org; Wed, 24 Aug 2011 05:38:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qw9sA-0005nR-KI for submit@debbugs.gnu.org; Wed, 24 Aug 2011 05:35:47 -0400 Original-Received: from lists.gnu.org ([140.186.70.17]:38947) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw9sA-0005nN-IY for submit@debbugs.gnu.org; Wed, 24 Aug 2011 05:35:46 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:55832) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw9s9-000767-GE for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2011 05:35:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qw9s8-0005n6-JL for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2011 05:35:45 -0400 Original-Received: from mail-pz0-f44.google.com ([209.85.210.44]:33760) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qw9s8-0005mz-Ea for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2011 05:35:44 -0400 Original-Received: by pzk36 with SMTP id 36so660536pzk.17 for ; Wed, 24 Aug 2011 02:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:subject:x-debbugs-cc:date:message-id:mime-version :content-type; bh=xj+VUywigtLXTahBGPTuvUR9BsYaHLhs690Lz+1oYw8=; b=sEtbyiPwoc/kX2uTQhGRBEoMfxasG5NVQ1Cr2b+XRAn8/BLgF+97yieLn9A6tLw3EV 618FXE0g8bUO2Pb8lJBPW0+rktbCkTT68LQcWP3IoNOo/eZqWmcvuFb/mg1VwYyAa7Io ki5giNWzyNsVQmY+ineiV4ne+n5o2H4RvPR/g= Original-Received: by 10.143.97.40 with SMTP id z40mr2665534wfl.7.1314178542689; Wed, 24 Aug 2011 02:35:42 -0700 (PDT) Original-Received: from bogon ([58.22.113.144]) by mx.google.com with ESMTPS id s8sm397023wff.5.2011.08.24.02.35.39 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 24 Aug 2011 02:35:41 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Wed, 24 Aug 2011 05:39:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) 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:50271 Archived-At: Run compile-defun on the following form to see the problem. (defstruct (state (:conc-name %state-) (:constructor nil) (:copier nil) :named) beg end) Proposed patch: diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index fcbf028f..896465d8 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -2338,17 +2338,14 @@ (defmacro defstruct (struct &rest descs) (append (and pred-check (list (list 'or pred-check - (list 'error - (format "%s accessing a non-%s" - accessor name))))) + `(error "%s accessing a non-%s" ',accessor ',name)))) (list (if (eq type 'vector) (list 'aref 'cl-x pos) (if (= pos 0) '(car cl-x) (list 'nth pos 'cl-x)))))) forms) (push (cons accessor t) side-eff) (push (list 'define-setf-method accessor '(cl-x) (if (cadr (memq :read-only (cddr desc))) - (list 'error (format "%s is a read-only slot" - accessor)) + `(error "%s is a read-only slot" ',accessor) ;; If cl is loaded only for compilation, ;; the call to cl-struct-setf-expander would ;; cause a warning because it may not be