From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eric Abrahamsen Newsgroups: gmane.emacs.bugs Subject: bug#28489: Acknowledgement (27.0.50; eieio-persistent slot type validation should be a bit smarter) Date: Sat, 30 Sep 2017 16:30:10 -0700 Message-ID: <878tgvdat9.fsf@ericabrahamsen.net> References: <87lglcn8dt.fsf@ericabrahamsen.net> <878th1i50l.fsf@ericabrahamsen.net> <87wp4lf1kq.fsf@users.sourceforge.net> <87ing4cd04.fsf@ericabrahamsen.net> <87h8vnftnx.fsf@users.sourceforge.net> <87zi9fxvnh.fsf@ericabrahamsen.net> <8760c2fike.fsf@users.sourceforge.net> <87vak16ybk.fsf@ericabrahamsen.net> <87r2updmvj.fsf@users.sourceforge.net> <87efqodptz.fsf@ericabrahamsen.net> <87a81betlt.fsf@users.sourceforge.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1506814276 10340 195.159.176.226 (30 Sep 2017 23:31:16 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 30 Sep 2017 23:31:16 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.60 (gnu/linux) To: 28489@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Oct 01 01:31:05 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1dyRDs-0001ix-B3 for geb-bug-gnu-emacs@m.gmane.org; Sun, 01 Oct 2017 01:31:04 +0200 Original-Received: from localhost ([::1]:40646 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dyRDz-0005gF-PE for geb-bug-gnu-emacs@m.gmane.org; Sat, 30 Sep 2017 19:31:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53431) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dyRDu-0005fy-4K for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:31:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dyRDq-0000sT-Kz for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:31:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:32921) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dyRDq-0000s9-Hs for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:31:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dyRDq-0006A7-99 for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:31:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <87lglcn8dt.fsf@ericabrahamsen.net> Resent-From: Eric Abrahamsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 30 Sep 2017 23:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28489 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.150681423523637 (code B ref -1); Sat, 30 Sep 2017 23:31:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 30 Sep 2017 23:30:35 +0000 Original-Received: from localhost ([127.0.0.1]:41602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dyRDP-00069B-AP for submit@debbugs.gnu.org; Sat, 30 Sep 2017 19:30:35 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33355) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dyRDN-00068x-A3 for submit@debbugs.gnu.org; Sat, 30 Sep 2017 19:30:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dyRDH-00006g-46 for submit@debbugs.gnu.org; Sat, 30 Sep 2017 19:30:28 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:56300) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dyRDH-00006W-1F for submit@debbugs.gnu.org; Sat, 30 Sep 2017 19:30:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52471) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dyRDF-0005bl-EM for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:30:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dyRDC-0008TK-3M for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:30:25 -0400 Original-Received: from [195.159.176.226] (port=53550 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dyRDB-0008RO-SX for bug-gnu-emacs@gnu.org; Sat, 30 Sep 2017 19:30:22 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dyRCy-0005rV-SY for bug-gnu-emacs@gnu.org; Sun, 01 Oct 2017 01:30:08 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 50 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:KF44zAfF7FugrZKVY1PgUbJpc4M= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:137723 Archived-At: Noam Postavsky writes: > Eric Abrahamsen writes: > >> Here's the commit as it stands, seems to work fine. I'll let it mellow >> for a while, and then commit to... emacs-26? Since it's technically a >> bug fix? > > Yes. You are missing a (require 'seq) in eieo-base.el though (without > that, I get an error when running 'make -C test eieio-test-persist'). Thanks, done. >> * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p): >> An `or' form can specify multiple potential classes (or null) as >> valid types for a slot, but previously only the final element of the >> `or' was actually checked. Now returns all valid classes in the `or' >> form. >> * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): >> Check if proposed value matches any of the valid classes. > > These 2 entries should be combined like: > > * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p): > An `or' form can specify multiple potential classes (or null) as [...] > (eieio-persistent-validate/fix-slot-value): Check if proposed value > matches any of the valid classes. Dunno how that happened... >> +(ert-deftest eieio-test-multiple-class-slot () >> + (let ((persist >> + (persistent-multiclass-slot "random string" >> + :slot1 (persistent-random-class) >> + :slot2 (persist-not-persistent) >> + :file (concat default-directory "test-ps5.pt")))) >> + (persist-test-save-and-compare persist) >> + (delete-file (oref persist file)))) > > I think this test should a bit more thorough about deleting the file, > even if the test fails for some reason: > > (unwind-protect > (persist-test-save-and-compare persist) > (ignore-errors (delete-file (oref persist file)))) Done -- at some point, the same should be done for the other tests. Thanks, Eric