From unknown Fri Aug 15 20:51:20 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23947: Regression in EIEIO Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Jul 2016 17:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 23947 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 23947@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.146825808630640 (code B ref -1); Mon, 11 Jul 2016 17:29:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 Jul 2016 17:28:06 +0000 Received: from localhost ([127.0.0.1]:47079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMf02-0007y8-4X for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:28:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59811) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMezz-0007xd-Uy for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:28:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMezt-0000ja-PV for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:27:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMezt-0000jQ-MV for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:27:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50774) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMezr-0003uI-CV for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:27:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMezo-0000j7-2I for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:27:55 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:48756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMezn-0000j0-Tx for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:27:51 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CtQQA731xV/3mcpUVcgxABgTGCUK9PgwQBj0NJhgAEgUA8EQEBAQEBAQGBCkEFhDlfEyEBHA03iCybL7QgizqBPQGDZIQXBYtEjimZUoFFI2FmDESBfSIxgkcBAQE X-IPAS-Result: A0CtQQA731xV/3mcpUVcgxABgTGCUK9PgwQBj0NJhgAEgUA8EQEBAQEBAQGBCkEFhDlfEyEBHA03iCybL7QgizqBPQGDZIQXBYtEjimZUoFFI2FmDESBfSIxgkcBAQE X-IronPort-AV: E=Sophos;i="5.13,465,1427774400"; d="scan'208";a="247501022" Received: from 69-165-156-121.dsl.teksavvy.com (HELO pastel.home) ([69.165.156.121]) by ironport2-out.teksavvy.com with ESMTP; 11 Jul 2016 13:27:50 -0400 Received: by pastel.home (Postfix, from userid 20848) id 89792643C1; Mon, 11 Jul 2016 13:27:50 -0400 (EDT) From: Stefan Monnier Date: Mon, 11 Jul 2016 13:27:50 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Package: Emacs Version: 25.0.95 I finally tracked down why GNU ELPA's "rudel" package wasn't working with Emacs-25, and it turns out to be a combination of two bugs in the new EIEIO code. Rudel seems to be the heaviest user of EIEIO so far (e.g. the only user of the :c3 method invocation order, since the eieio-core code had a plain bug which made it signal an error whenever that was used). The patch below lets Rudel setup a shared buffer, so at least the core functionality now works. To my eyes, this is a very safe patch which just fixes an incompatibility and an error I introduced in the new EIEIO code when moving to cl-generic, so I think it should go to emacs-25. Any objection? Stefan 2016-07-11 Stefan Monnier * lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Better obey EIEIO's `no-applicable-method' calling convention. * lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3): `class' is not a symbol but a class object. diff --git a/lisp/emacs-lisp/eieio-compat.el b/lisp/emacs-lisp/eieio-compat.el index 6d4798b..6aba8a3 100644 --- a/lisp/emacs-lisp/eieio-compat.el +++ b/lisp/emacs-lisp/eieio-compat.el @@ -188,7 +188,8 @@ eieio--defmethod (`no-applicable-method (setq method 'cl-no-applicable-method) (setq specializers `(generic ,@specializers)) - (lambda (generic arg &rest args) (apply code arg generic args))) + (lambda (generic arg &rest args) + (apply code arg (cl--generic-name generic) (cons arg args)))) (_ code)))) (cl-generic-define-method method (unless (memq kind '(nil :primary)) (list kind)) diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el index 631e4a4..223c2a6 100644 --- a/lisp/emacs-lisp/eieio-core.el +++ b/lisp/emacs-lisp/eieio-core.el @@ -976,7 +976,7 @@ eieio--class/struct-parents (defun eieio--class-precedence-c3 (class) "Return all parents of CLASS in c3 order." - (let ((parents (eieio--class-parents (cl--find-class class)))) + (let ((parents (eieio--class-parents class))) (eieio--c3-merge-lists (list class) (append @@ -1101,7 +1101,7 @@ eieio--generic-subclass-specializers (list eieio--generic-subclass-generalizer)) -;;;### (autoloads nil "eieio-compat" "eieio-compat.el" "6aca3c1b5f751a01331761da45fc4f5c") +;;;### (autoloads nil "eieio-compat" "eieio-compat.el" "dba4205b1a0d7133f1311d975b4d0ebe") ;;; Generated autoloads from eieio-compat.el (autoload 'eieio--defalias "eieio-compat" "\ From unknown Fri Aug 15 20:51:20 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23947: Regression in EIEIO Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Jul 2016 17:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23947 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 23947@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.146825898332285 (code B ref -1); Mon, 11 Jul 2016 17:44:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 Jul 2016 17:43:03 +0000 Received: from localhost ([127.0.0.1]:47165 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMfEU-0008Of-VH for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:43:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39163) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMfES-0008OB-JN for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:43:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMfEM-0005GZ-Kh for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:42:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45715) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMfEM-0005GI-Hi for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:42:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58344) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMfEK-0004T7-EZ for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:42:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMfEE-0005F1-GF for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:42:51 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:60570) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMfEE-0005Ex-46 for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:42:46 -0400 Received: from [192.168.1.82] ([109.24.225.43]) by mrelayeu.kundenserver.de (mreue002) with ESMTPSA (Nemesis) id 0Lwisq-1bKGZZ18rA-016SpF for ; Mon, 11 Jul 2016 19:42:45 +0200 References: From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Message-ID: <5783DA94.4090500@gmail.com> Date: Mon, 11 Jul 2016 19:42:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="OnEgAiTp3Cld53eUoCcETVekbatCoqA4t" X-Provags-ID: V03:K0:/t1J5p3V8+pgoakzWSZCavj5fHbkxwnfUuurr8W4mSirb2ytW1p RHfZolSbbzDNdE4SzTE0ltI8b5l46SiCYdGSG2TF3ItBA4XaksKYTKzLDL4FXMHMkkK8x4Y n8dHQixXtxcg8NF62pUzHmE79RTNzruCbjvKQ8Vv8z/sXWQXks/YrpVU/3lX+TVMvu3yzmo RJnaFx3BYrxOVgjUc+pyg== X-UI-Out-Filterresults: notjunk:1;V01:K0:ZffG9pJtxrY=:RSFUgYFkRmYrcSljqYli+o sTBozt+BhCF1LEjxkjsWrWCMJhIoBj/GooT0srOSPkZc9q9xC/lfnrNUhRYpdutlHQ7bomyyE 8kMYPQ94daPDhHUcj9qrRxyLf+Y/WCYIkHjwrD6bzN3rmOEGRmwhzzIV0MFmCcuAs8CS7idjy crRYzzfgtg4j4e9EskbSN9DyQw3mYQghq3Y4u1F/eMJdm9bvQSYgI7g7EBBhXjR6MZxww/tr6 IOQAwrOeh4SZLAU8gRslStXLQN8nZpvmf0paXIzyttMI8mtKFH1/qoCdvybY3yoqsmo7Rbj6J MJ6cObWuyuOY4XvImxdbxy1NXGDLyHEvYW3XhfOA6cPHsSWLJQRKEzOoCsuKHND1NWK7o8/EE VQaKBhwQBFhaPXwnR3Zbwg2MdD8dIU1tZZGpiMa5Zq2YoIqEvespIRdpNvGoe3p4q8iRrTjtp GY+LGM3kn8JUSNsemsOiwWlSGboWpkpNQTvhxcECkvo6SUeCekCWiVsYDzr263b33iAKxWjMI zwnSKp1MfDPQcrqh+GcvlWGyrlLgau+EarsHRAXJAHt5l6tXCENrb/nGamiTdP/+AiHpAlGpD CwzUTRnOFp8Bd6qMvM1MTwxU87lNFIu2A9PKrDAqkOM+1hFcB/DlztzD29WjFcJ1+shlW/R2U Ffnetzzo6qpXnnxgKpC2KWr3ODKWlqpzKUHHOlJZnKrlya8xq2+HRW8e7c85yRDFgOSs= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --OnEgAiTp3Cld53eUoCcETVekbatCoqA4t Content-Type: multipart/mixed; boundary="9Mx6r9He1dDGTLNhEctdnCW2F6anNTlWx" From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= To: bug-gnu-emacs@gnu.org Message-ID: <5783DA94.4090500@gmail.com> Subject: Re: bug#23947: Regression in EIEIO References: In-Reply-To: --9Mx6r9He1dDGTLNhEctdnCW2F6anNTlWx Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 2016-07-11 19:27, Stefan Monnier wrote: > + (apply code arg (cl--generic-name generic) (cons arg ar= gs)))) Hmm, why does `code' receive `arg' twice? (once as the first arg and once= as the third one) --9Mx6r9He1dDGTLNhEctdnCW2F6anNTlWx-- --OnEgAiTp3Cld53eUoCcETVekbatCoqA4t Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJXg9qUAAoJEPqg+cTm90wjCmkP/A6eCOOf4nlliHMdEsWOGnKE 9cav2zrSuXVqvFxUusS1PQrf2Qjyu3xytMuck8keP+18E2Lfjw8uPCGjIO7kvSW+ 95p3ylc8RNHOkInXc79L0B9C6s1PMssNvupJJi20pttr7yUZ/qq8vAmvhzpy96c9 kci7/zMaN8yQD4860UEBk0o0pvTDbkplkL/7EnsYT/DXf7hP1+A8xSQM+EcJolT/ IwehKXMz/qXqa0EfOd6RBYEYtidmJLFPMbZT8gOBTszMFeVdRrk3mPWUN7QCijfO xIdBFl0mFWvwbKElvDmTeA4HV2DVsY0Rawu/QsEp4ZGNqTVRR4T61KkWRnbL8AA8 B63m4K3T/FUZ1Ei6saQGKr21oKsaUg/hwyaoKBuHyCtNm6Pqf23m8P1zgu10R3pI jd2j8aWqOQTq/TKc18GcupHaxpplvTjZwR17x4vSljzI/Cx5FNHBs48U4pe6F1iV rcfM2jUcJZ8IcT/U8GXPauRKVnUXa7Uj0gDLk8F87B+r+J54+l5BUEJbViC06cpi UBRAP5k20bJZxaO8Sz+hwc1Zfu0c3ZWU3eo4nFYTDgVRelRyNY1ofJ5pJWJ7/uKk 8B4+6zzYjEhAbEux4cMmk2ANoO5pUFrrG9niwBZdGqSxd1/JFvpgvG3Zy+r9XuSo tPLOCOT+rqLobENJrfSw =rbJy -----END PGP SIGNATURE----- --OnEgAiTp3Cld53eUoCcETVekbatCoqA4t-- From unknown Fri Aug 15 20:51:20 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23947: Regression in EIEIO Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Jul 2016 13:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23947 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Cc: 23947@debbugs.gnu.org Received: via spool by 23947-submit@debbugs.gnu.org id=B23947.146832878310565 (code B ref 23947); Tue, 12 Jul 2016 13:07:02 +0000 Received: (at 23947) by debbugs.gnu.org; 12 Jul 2016 13:06:23 +0000 Received: from localhost ([127.0.0.1]:47736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMxOD-0002kG-5p for submit@debbugs.gnu.org; Tue, 12 Jul 2016 09:06:22 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:52359) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMxO6-0002jy-2p for 23947@debbugs.gnu.org; Tue, 12 Jul 2016 09:06:15 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AxFgA731xV/3mcpUVcgxCEAoVVu0CHSwQCAoE8OxIBAQEBAQEBgQpBBYNdAQEDAVYjBQsLNBIUGA0kiDcIzyMBAQEBBgEBAQEeizqBPQGDRweELQWLRKd7gUUjYYE2gX0igngBAQE X-IPAS-Result: A0AxFgA731xV/3mcpUVcgxCEAoVVu0CHSwQCAoE8OxIBAQEBAQEBgQpBBYNdAQEDAVYjBQsLNBIUGA0kiDcIzyMBAQEBBgEBAQEeizqBPQGDRweELQWLRKd7gUUjYYE2gX0igngBAQE X-IronPort-AV: E=Sophos;i="5.13,465,1427774400"; d="scan'208";a="247571588" Received: from 69-165-156-121.dsl.teksavvy.com (HELO pastel.home) ([69.165.156.121]) by ironport2-out.teksavvy.com with ESMTP; 12 Jul 2016 09:06:04 -0400 Received: by pastel.home (Postfix, from userid 20848) id 0232E64C36; Tue, 12 Jul 2016 09:06:03 -0400 (EDT) From: Stefan Monnier Message-ID: References: <5783DA94.4090500@gmail.com> Date: Tue, 12 Jul 2016 09:06:03 -0400 In-Reply-To: <5783DA94.4090500@gmail.com> ("=?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel"'s message of "Mon, 11 Jul 2016 19:42:44 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) >> + (apply code arg (cl--generic-name generic) (cons arg args)))) > Hmm, why does `code' receive `arg' twice? (once as the first arg and > once as the third one) Because that's how EIEIO's `no-applicable-method' was defined. More specifically, it takes (obj method &rest args) where `obj' is the first arg that was passed to the method and `args' is the complete list of arguments that were passed to the method. Stefan From unknown Fri Aug 15 20:51:20 2025 X-Loop: help-debbugs@gnu.org Subject: bug#23947: Regression in EIEIO Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Jul 2016 21:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23947 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 23947@debbugs.gnu.org Received: via spool by 23947-submit@debbugs.gnu.org id=B23947.14683580221021 (code B ref 23947); Tue, 12 Jul 2016 21:14:02 +0000 Received: (at 23947) by debbugs.gnu.org; 12 Jul 2016 21:13:42 +0000 Received: from localhost ([127.0.0.1]:48806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN4zt-0000GP-VR for submit@debbugs.gnu.org; Tue, 12 Jul 2016 17:13:42 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:53987) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN4zs-0000G6-NO for 23947@debbugs.gnu.org; Tue, 12 Jul 2016 17:13:41 -0400 Received: from [192.168.1.82] ([109.24.225.43]) by mrelayeu.kundenserver.de (mreue102) with ESMTPSA (Nemesis) id 0Lzb6o-1bJJm425as-014iA3; Tue, 12 Jul 2016 23:13:30 +0200 References: <5783DA94.4090500@gmail.com> From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Message-ID: <57855D73.5040901@gmail.com> Date: Tue, 12 Jul 2016 23:13:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="QkSeoR7kLFOcn2XNWeBwjvLN1KfTw1n2G" X-Provags-ID: V03:K0:pFNbE7UXE/8WkEQuZSbcE00C+fXN/G9sz2HRXj/No+t5jPqAJUz inqMA6WayitxnLwoH/d7lcDVgtvhddqX9Q/YfOayFKyvByclZ83b9j0WyUtjasirqhccd5i C3WoDX6QwFx46/sxyQqqVuyn87F2pDnE7fxKAPEnTt6DwGp+7YUP/LuTXhMIDzeniC3dZEK MPrrpjD5d3E/l0zN2przw== X-UI-Out-Filterresults: notjunk:1;V01:K0:lmZRe5d++i8=:7h6GgudsofdbjWK/SLzsYZ uFVUPmGitUKT/a3GcO/W6ZFFHFlJ73NFQx3g79qty0SwYv40AdJ2jRc73tIqhT3saJT4aXuPg 9AA2Rdh9URcuHqPDqqep0/xPFsZ8e3vogIazuq6eLbqzesxzLAYZBUDrbuMGj9TC3H8m4RpGr pLkcxcrT1j1aXPIoxf+drWTE8bc93BZVD1PeXF4uTu7/vfb1ydONGFTFYIIXGulECUEVlG3H7 pgId+BqU2wt7prpoU497kLNajTDmsGEUlUiDTsOQmLTR7XmBS+vk48qA4poMbMaORjhdlv1fQ 5Z8KtFSK4CD7lf+14266pC8ZvaECcSgv9RnqoxImsuSsnj2hKNpsfkRK0KL6GO0pmp6LnaPnG 7ybm2wwWLI+ljJlUXwHPOROQcgY1nkRuC7x6AcSTeVR3EPoL6oaVybPa7tvmlxOZcOwN0MCU/ N/z4K8XRE7CQpRqozssDKkwv1BtCBb3CJ4+q8n1TuxgPNxUsVLSyiXhXCELYy+s/RE79A4Vyu cqgLnTk6gOBnh/7mg1INGb0C8RbTELMWFCv75SbN3CSFrVu/aMcmUwgJeFLWbbD1ux2tyR/dh wLyWDxg5n+VK+2SaBCT/i0P5yWt2bi5N2f2rzdXFux/foUKHYTu8kn3wMZDwwwo2Um1EPBq53 GJnwECrBjPWASpIljNnO1SPf94iR0Yf5EJNiafuhmYrzXuLMF29AGpBm8EjrbhdkWiC8= X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --QkSeoR7kLFOcn2XNWeBwjvLN1KfTw1n2G Content-Type: multipart/mixed; boundary="ue4e3IjChdtVvMlcoH25gIb02hgf3iHk4" From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= To: Stefan Monnier Cc: 23947@debbugs.gnu.org Message-ID: <57855D73.5040901@gmail.com> Subject: Re: bug#23947: Regression in EIEIO References: <5783DA94.4090500@gmail.com> In-Reply-To: --ue4e3IjChdtVvMlcoH25gIb02hgf3iHk4 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 07/12/2016 03:06 PM, Stefan Monnier wrote: >>> + (apply code arg (cl--generic-name generic) (cons arg = args)))) >=20 >> Hmm, why does `code' receive `arg' twice? (once as the first arg and >> once as the third one) >=20 > Because that's how EIEIO's `no-applicable-method' was defined. > More specifically, it takes (obj method &rest args) where `obj' is the > first arg that was passed to the method and `args' is the complete list= > of arguments that were passed to the method. Thanks Stefan :) --ue4e3IjChdtVvMlcoH25gIb02hgf3iHk4-- --QkSeoR7kLFOcn2XNWeBwjvLN1KfTw1n2G Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXhV1zAAoJEPqg+cTm90wjJnwQAKbYc3/79SS5y2E7PAj3t5W2 S8ENmWtISb8CbuC0a9NTV6F/d7sRm0jyWPDnkkW1frgaRZwM7+6C0bcsUqfnIx1h 4zNZoaIvj7LQMohU+RlUo7v8FvtltXIEQN2lhst//mF14UHzioxSbTb0uJGN517q c4VL4gijMbvJpwOUtSc13k9iqZezetNGjwNTtkuVfA72gpZM/32Z5Y1AHSu+tbrz iXlrQSh2ZmlVx4Mbjpm7ht48xya9QcYTqwo9FYPY4qW7cMY96EF/Jxq8Z6rDFflz vGADNnpduMia1hZaojUq2/KRxnYHWRFgyymG4OPxHCvo00sqffW908pwvEYhW47u YD5+Wfat7Ar+ymaT1/7y2bLC9HglqH89DiT9SxAfUQgCytRkWjhvNo5WXjF/kCB4 8B2PVnBa57dHpFRUGlosd2LAk1BNI3Qr6RsItEF2GMujnSHFsJVyTbhZGmRYD1OK SKpX/pVmvp+I7F26KPEm35Cpe40KHeU4PadxfUkLTPVFUYijGki0hjeQJ0aObfAg 0XBHuM3zKsf9m8csuRDxyKrVS7DbhGLow3l6LgciQNP9Pg6/LCbz96QjUPi8R2DQ RlHzIDJMmq5N7poqSWv80QzySJrn2CeHCkeoXP03odFlnSKdmXkEJudl2XrKwvH6 V72Zq/asfV0dFkdVxECo =exbL -----END PGP SIGNATURE----- --QkSeoR7kLFOcn2XNWeBwjvLN1KfTw1n2G-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 14 13:15:37 2016 Received: (at control) by debbugs.gnu.org; 14 Jul 2016 17:15:38 +0000 Received: from localhost ([127.0.0.1]:51665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bNkEb-0006zk-Mj for submit@debbugs.gnu.org; Thu, 14 Jul 2016 13:15:37 -0400 Received: from eggs.gnu.org ([208.118.235.92]:45253) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bNkEa-0006zW-Cy for control@debbugs.gnu.org; Thu, 14 Jul 2016 13:15:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bNkEU-0005Hd-2U for control@debbugs.gnu.org; Thu, 14 Jul 2016 13:15:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:47002) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bNkET-0005HZ-VW for control@debbugs.gnu.org; Thu, 14 Jul 2016 13:15:29 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1bNkES-0006DB-Jd for control@debbugs.gnu.org; Thu, 14 Jul 2016 13:15:28 -0400 Subject: control message for bug 19759 To: X-Mailer: mail (GNU Mailutils 2.99.98) Message-Id: From: Glenn Morris Date: Thu, 14 Jul 2016 13:15:28 -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-Spam-Score: -6.3 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.3 (------) block 19759 by 23947 From unknown Fri Aug 15 20:51:20 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Stefan Monnier Subject: bug#23947: closed (Re: bug#23947: Regression in EIEIO) Message-ID: References: X-Gnu-PR-Message: they-closed 23947 X-Gnu-PR-Package: emacs Reply-To: 23947@debbugs.gnu.org Date: Thu, 14 Jul 2016 19:09:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1468523342-14844-1" This is a multi-part message in MIME format... ------------=_1468523342-14844-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #23947: Regression in EIEIO which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 23947@debbugs.gnu.org. --=20 23947: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D23947 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1468523342-14844-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 23947-done) by debbugs.gnu.org; 14 Jul 2016 19:08:46 +0000 Received: from localhost ([127.0.0.1]:51739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bNm06-0003qz-4A for submit@debbugs.gnu.org; Thu, 14 Jul 2016 15:08:46 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:50754) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bNm04-0003qq-Cp for 23947-done@debbugs.gnu.org; Thu, 14 Jul 2016 15:08:44 -0400 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id u6EJ8hMi015771; Thu, 14 Jul 2016 15:08:43 -0400 Received: by pastel.home (Postfix, from userid 20848) id D745A604BA; Thu, 14 Jul 2016 15:09:55 -0400 (EDT) From: Stefan Monnier To: 23947-done@debbugs.gnu.org Subject: Re: bug#23947: Regression in EIEIO Message-ID: References: <5783DA94.4090500@gmail.com> Date: Thu, 14 Jul 2016 15:09:55 -0400 In-Reply-To: (Stefan Monnier's message of "Tue, 12 Jul 2016 09:06:03 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV5736=0 X-NAI-Spam-Version: 2.3.0.9418 : core <5736> : inlines <5009> : streams <1667847> : uri <2248162> X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 23947-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) Version: 25.1 Installed, thanks, Stefan ------------=_1468523342-14844-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Jul 2016 17:28:06 +0000 Received: from localhost ([127.0.0.1]:47079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMf02-0007y8-4X for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:28:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59811) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bMezz-0007xd-Uy for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:28:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMezt-0000ja-PV for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:27:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMezt-0000jQ-MV for submit@debbugs.gnu.org; Mon, 11 Jul 2016 13:27:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50774) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMezr-0003uI-CV for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:27:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bMezo-0000j7-2I for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:27:55 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:48756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bMezn-0000j0-Tx for bug-gnu-emacs@gnu.org; Mon, 11 Jul 2016 13:27:51 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CtQQA731xV/3mcpUVcgxABgTGCUK9PgwQBj0NJhgAEgUA8EQEBAQEBAQGBCkEFhDlfEyEBHA03iCybL7QgizqBPQGDZIQXBYtEjimZUoFFI2FmDESBfSIxgkcBAQE X-IPAS-Result: A0CtQQA731xV/3mcpUVcgxABgTGCUK9PgwQBj0NJhgAEgUA8EQEBAQEBAQGBCkEFhDlfEyEBHA03iCybL7QgizqBPQGDZIQXBYtEjimZUoFFI2FmDESBfSIxgkcBAQE X-IronPort-AV: E=Sophos;i="5.13,465,1427774400"; d="scan'208";a="247501022" Received: from 69-165-156-121.dsl.teksavvy.com (HELO pastel.home) ([69.165.156.121]) by ironport2-out.teksavvy.com with ESMTP; 11 Jul 2016 13:27:50 -0400 Received: by pastel.home (Postfix, from userid 20848) id 89792643C1; Mon, 11 Jul 2016 13:27:50 -0400 (EDT) From: Stefan Monnier To: bug-gnu-emacs@gnu.org Subject: Regression in EIEIO Date: Mon, 11 Jul 2016 13:27:50 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Package: Emacs Version: 25.0.95 I finally tracked down why GNU ELPA's "rudel" package wasn't working with Emacs-25, and it turns out to be a combination of two bugs in the new EIEIO code. Rudel seems to be the heaviest user of EIEIO so far (e.g. the only user of the :c3 method invocation order, since the eieio-core code had a plain bug which made it signal an error whenever that was used). The patch below lets Rudel setup a shared buffer, so at least the core functionality now works. To my eyes, this is a very safe patch which just fixes an incompatibility and an error I introduced in the new EIEIO code when moving to cl-generic, so I think it should go to emacs-25. Any objection? Stefan 2016-07-11 Stefan Monnier * lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Better obey EIEIO's `no-applicable-method' calling convention. * lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3): `class' is not a symbol but a class object. diff --git a/lisp/emacs-lisp/eieio-compat.el b/lisp/emacs-lisp/eieio-compat.el index 6d4798b..6aba8a3 100644 --- a/lisp/emacs-lisp/eieio-compat.el +++ b/lisp/emacs-lisp/eieio-compat.el @@ -188,7 +188,8 @@ eieio--defmethod (`no-applicable-method (setq method 'cl-no-applicable-method) (setq specializers `(generic ,@specializers)) - (lambda (generic arg &rest args) (apply code arg generic args))) + (lambda (generic arg &rest args) + (apply code arg (cl--generic-name generic) (cons arg args)))) (_ code)))) (cl-generic-define-method method (unless (memq kind '(nil :primary)) (list kind)) diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el index 631e4a4..223c2a6 100644 --- a/lisp/emacs-lisp/eieio-core.el +++ b/lisp/emacs-lisp/eieio-core.el @@ -976,7 +976,7 @@ eieio--class/struct-parents (defun eieio--class-precedence-c3 (class) "Return all parents of CLASS in c3 order." - (let ((parents (eieio--class-parents (cl--find-class class)))) + (let ((parents (eieio--class-parents class))) (eieio--c3-merge-lists (list class) (append @@ -1101,7 +1101,7 @@ eieio--generic-subclass-specializers (list eieio--generic-subclass-generalizer)) -;;;### (autoloads nil "eieio-compat" "eieio-compat.el" "6aca3c1b5f751a01331761da45fc4f5c") +;;;### (autoloads nil "eieio-compat" "eieio-compat.el" "dba4205b1a0d7133f1311d975b4d0ebe") ;;; Generated autoloads from eieio-compat.el (autoload 'eieio--defalias "eieio-compat" "\ ------------=_1468523342-14844-1--