From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] trunk r116995: cl-lib defstruct introspection Date: Mon, 21 Apr 2014 19:07:11 -0700 Message-ID: <5355CECF.2050803@dancol.org> References: <53555822.3080007@dancol.org> <53559B0D.3070505@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="nrMclsddT5QcpgiqTQDUhKEd1geSTunaa" X-Trace: ger.gmane.org 1398132455 28047 80.91.229.3 (22 Apr 2014 02:07:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 22 Apr 2014 02:07:35 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 22 04:07:30 2014 Return-path: Envelope-to: ged-emacs-devel@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 1WcQ7O-0000uF-17 for ged-emacs-devel@m.gmane.org; Tue, 22 Apr 2014 04:07:30 +0200 Original-Received: from localhost ([::1]:52349 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WcQ7N-0005XK-Cw for ged-emacs-devel@m.gmane.org; Mon, 21 Apr 2014 22:07:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38374) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WcQ7J-0005XF-P8 for emacs-devel@gnu.org; Mon, 21 Apr 2014 22:07:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WcQ7I-0002gy-N5 for emacs-devel@gnu.org; Mon, 21 Apr 2014 22:07:25 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:42103) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WcQ7I-0002gE-D6 for emacs-devel@gnu.org; Mon, 21 Apr 2014 22:07:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=/2aSwS8APJAltumgJOjN35QjojvPzxZh95WUXSonKmo=; b=dWJbGc4SdK5pQd6JobP+1KM1pLQvH+NSLN9xP/B+kf6a6/M+MFtYFypC4WLlOChZ+KdOy6mYvlbclT7awtNKHp4+P4QZxaUJXbik6r3St2p8h6DcjSlqX8e3kS8j7NlTc5pu2vkxoDR/nMMFF+4Ds6XC731gbVsyq609CX/tvLFAQE9CnwfSqZyYiHRH6dmPzYiuLOblx2ZnznuHHQrk20vRqQTyaTJheQwoKSylfzPu/EVvmW5Atwdd/ZeE8xoEvVPHnJNGENvlEfG73mHqzy7xwTsyEJTcyBP9W7hRNZG7XwTuzYb9SHyibJW4JICbkyJ3nj2osEe5K35xi96n0A==; Original-Received: from [2620:10d:c083:1003:863a:4bff:fec8:e538] by dancol.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1WcQ7C-00055I-3B; Mon, 21 Apr 2014 19:07:18 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 In-Reply-To: X-Enigmail-Version: 1.6 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:171558 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --nrMclsddT5QcpgiqTQDUhKEd1geSTunaa Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 04/21/2014 07:03 PM, Stefan Monnier wrote: >> Can it? I tried it in vc-dir and got a completely unrelated ChangeLog = hunk. >=20 > Yes, there's a long-standing problem in vc-dir, such that it only works= > well if you mark the files you're going to commit (basically the > changelog-copying feature needs the list of files that will be committe= d > and vc-dir doesn't provide it unless you manually mark each file). >=20 > Patch welcome. >=20 >>>>> I'm curious: when/where did you bump against a need for that? >>>> I have a few private macros that lexically bind structure slots, >>> Which part makes it impossible/impractical to use standard accessors = for >>> that? >> :conc-name, for starters. Also, :read-only, although you could argue >> that you shouldn't go around mutating read-only slots anyway. >=20 > I guess I don't know what you mean by "lexically bind structure slots".= > Can you give an example? Something like this. (This is the private code I was talking about, so it doesn't use the sames in the checked-in patch.) (defmacro* jez-with-slots (spec-list (type inst) &body body) "Like `with-slots', but for structs." (if (symbolp inst) `(symbol-macrolet ,(loop for spec in spec-list collect `(,spec (jez-slot-value ',type ,inst ',spec))) ,@body) (let ((inst-symbol (gensym "with-struct-slots"))) `(let ((,inst-symbol ,inst)) (jez-with-slots ,spec-list ,inst-symbol ,@body))))) --nrMclsddT5QcpgiqTQDUhKEd1geSTunaa Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTVc7PAAoJEMAaIROpHW7IwvgP/jX/uyiHiQw5QjyMs54nscSa scmLw5H+huXAl2/qPlhHLyGyqYZ1rUsVwtKxAXMKFhN/dYi2A+scm73xvXEpFlQr J0WWikhS/0nS9htYLujSANmp/daZFau29R4ZujzGx0mstg1LznwKHtYH7Uqfpbz8 meqR2vFa7uBEKsAnAikdjUqREm1hx0nvnXzj6pebTD53QAhlGDK5cuX0ZnXhmeeR gHmhaLtkgMwM02AqA1evx+z9DEberXHoaRsNef+O2/qoGCSuyj/9o01Oa4hXF/Qo 1e3XYGAoihtHAXc1Wdv1DmzdvOvgl0wb/M3GwDPKezc54oJXu+Ru2nLEjK4nre47 ArHC652OBLmCj0+TTH84GsYRj+5gNaNNgMAfixb2pgk5LHVSLMyjpWDrIrzWUuCG p0IS98vm2MToQr056GQ9Ya01l5aiSJPiJOaXoWeAkXalduUfywIYs0uiNo0c0ORl uDSBG8z0AiIKpdzPaWNEsFos5nbV02d/+vA1LfYahgFwcHp6n3lgmThlmJGAEWU7 XzVo+HYUqBiPfYcu2X0PmmPjUX4z3FTGEbu505Vw79owaottcqp+p1/R2t4wlqTS 23R34VP8Nv0fmhKPhjAPlQwH7/P2OJYhqSZf+0Q/ycJLuqJ8C0+Tgj+GP96pLV0d ah7ywUhIagLSXg5hdhTt =Qgoo -----END PGP SIGNATURE----- --nrMclsddT5QcpgiqTQDUhKEd1geSTunaa--