From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: User-defined record types, v2 Date: Sun, 19 Mar 2017 16:51:49 +0200 Message-ID: <83tw6pwc8q.fsf@gnu.org> References: <86y3w2tt2n.fsf@molnjunk.nocrew.org> <86tw6qtt01.fsf@molnjunk.nocrew.org> <86k27mtsnv.fsf@molnjunk.nocrew.org> <86fuiatsh3.fsf@molnjunk.nocrew.org> <86bmsyts9f.fsf@molnjunk.nocrew.org> <8337eaxzc3.fsf@gnu.org> <8637eatm6f.fsf@molnjunk.nocrew.org> <86wpblsk0g.fsf@molnjunk.nocrew.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1489935144 1759 195.159.176.226 (19 Mar 2017 14:52:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 19 Mar 2017 14:52:24 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 19 15:52:17 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cpcBl-0007Yz-Ti for ged-emacs-devel@m.gmane.org; Sun, 19 Mar 2017 15:52:10 +0100 Original-Received: from localhost ([::1]:57088 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpcBs-0004Jy-04 for ged-emacs-devel@m.gmane.org; Sun, 19 Mar 2017 10:52:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41782) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpcBm-0004Jr-IJ for emacs-devel@gnu.org; Sun, 19 Mar 2017 10:52:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cpcBj-0003bq-GD for emacs-devel@gnu.org; Sun, 19 Mar 2017 10:52:10 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45233) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpcBj-0003bm-DE; Sun, 19 Mar 2017 10:52:07 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3797 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cpcBi-0007H0-VC; Sun, 19 Mar 2017 10:52:07 -0400 In-reply-to: (message from Stefan Monnier on Sun, 19 Mar 2017 08:50:24 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:213153 Archived-At: > From: Stefan Monnier > Date: Sun, 19 Mar 2017 08:50:24 -0400 > > >> But I'm not even sure we should enforce this in the `record` and > >> `make-record` primitives. After all, it's not needed for safety. And > >> since we allow (aset 0 ) we can circumvent this check > >> anyway. > > Not quite. `aset' does the check too. > > Hm... so this slows down every use of `aset` on records, 99.99% of which > affect another slot anyway! > > > But then, so much else in Emacs depends on people doing sensible > > things, so maybe no check is needed at all. > > Exactly. > > > If we come up with a need for a check, we know where to add it. If not, > > I can just delete the unused code. > > That'd be my choice. We could instead leave it in an eassert.