GNU bug report logs - #66938
30.0.50 [PATCH]: Make EIEIO :accessor behave like :reader when reading a slot's value

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Brandon Irizarry <brandon.irizarry@HIDDEN>; Keywords: patch; Done: Stefan Monnier <monnier@HIDDEN>; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 66938-done <at> debbugs.gnu.org:


Received: (at 66938-done) by debbugs.gnu.org; 29 Nov 2023 15:47:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:47:22 2023
Received: from localhost ([127.0.0.1]:50768 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8MmY-0005J4-IS
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:47:22 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:2718)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1r8MmW-0005Im-Cq; Wed, 29 Nov 2023 10:47:21 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 011E34413ED;
 Wed, 29 Nov 2023 10:47:07 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1701272825;
 bh=BD97CcHs/D0C5noBCN+uJIEhmIO4mXqF150e7visDUI=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=fPFh+PmbDJsf9ZzaCC2uXnl1N9DuWqqmmlbhUfZOiGiRqgEaLyGZrpXcYh7kweLMQ
 Yj6lk9g5ieB26foWstkJzmtxyGvnncILB9aNrdOUGQwI7qK0IDCKOoGaZF4OjYegMp
 o663ymw8DufB9T15dFhjQJYG15T+4WFXmPTZ8Rxou2fLP82lpdAI9JY9U+oC3i6AUK
 IL9OZ/ofZMQeOvUsgLfMDq11AEyO13dAhA6BghdwygYxxqr4RxqpHA2bHm4r8crArX
 pTP+nf5TqQ8duq0n0VRIA2aq9wVpRFu4ZhOP9M/At+cO83N2ASifLn9ydHDcgwhuRr
 VHKtuSyFs+6Gg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id E4A624413CA;
 Wed, 29 Nov 2023 10:47:05 -0500 (EST)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D2A541201AA;
 Wed, 29 Nov 2023 10:47:05 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
In-Reply-To: <CALDnm51_rmcxZE_YPTUjERCMmoDGJnaDqih0FJJser_WRqZUsA@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Wed, 29 Nov 2023
 14:36:15 +0000")
Message-ID: <jwvzfywmuql.fsf-monnier+emacs@HIDDEN>
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
 <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
 <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
 <CALDnm51_rmcxZE_YPTUjERCMmoDGJnaDqih0FJJser_WRqZUsA@HIDDEN>
Date: Wed, 29 Nov 2023 10:46:52 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.118 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938-done
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org,
 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> I think this works nowadays (the expression is not evaluated in the
>> right context (it's evaluated in the empty context), but AFAICT it's
>> evaluated at the right time):
> No, I think there's something off.   In CLOS:
[...]
> *** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
> ELISP> (defclass foo () ((bar :initarg :bar :initform (error "BAR is
> required!"))))
> *** Eval error ***  BAR is required!
> ELISP>

Duh!  Still victim from the original EIEIO design where the `:initform`s
were executed at `defclass` time and then stored in a kind of
"prototype" object (presumably to speed up the creation of objects).

I pushed the patch below to fix this problem.  I can't believe this has
lingered since my Emacs-25 "rework" where I went through the trouble to
better align the semantics with that of CLOS.


        Stefan


diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index a394156c93a..37c5ebdb6da 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -951,7 +951,10 @@ eieio-set-defaults
   (let ((slots (eieio--class-slots (eieio--object-class obj))))
     (dotimes (i (length slots))
       (let* ((name (cl--slot-descriptor-name (aref slots i)))
-             (df (eieio-oref-default obj name)))
+             ;; If the `:initform` signals an error, just skip it,
+             ;; since the error is intended to be signal'ed from
+             ;; `initialize-instance` rather than at the time of `defclass`.
+             (df (ignore-errors (eieio-oref-default obj name))))
         (if (or df set-all)
             (eieio-oset obj name df))))))
 





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 15:47:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:47:23 2023
Received: from localhost ([127.0.0.1]:50770 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8MmY-0005J7-UN
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:47:23 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:2718)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1r8MmW-0005Im-Cq; Wed, 29 Nov 2023 10:47:21 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 011E34413ED;
 Wed, 29 Nov 2023 10:47:07 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1701272825;
 bh=BD97CcHs/D0C5noBCN+uJIEhmIO4mXqF150e7visDUI=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=fPFh+PmbDJsf9ZzaCC2uXnl1N9DuWqqmmlbhUfZOiGiRqgEaLyGZrpXcYh7kweLMQ
 Yj6lk9g5ieB26foWstkJzmtxyGvnncILB9aNrdOUGQwI7qK0IDCKOoGaZF4OjYegMp
 o663ymw8DufB9T15dFhjQJYG15T+4WFXmPTZ8Rxou2fLP82lpdAI9JY9U+oC3i6AUK
 IL9OZ/ofZMQeOvUsgLfMDq11AEyO13dAhA6BghdwygYxxqr4RxqpHA2bHm4r8crArX
 pTP+nf5TqQ8duq0n0VRIA2aq9wVpRFu4ZhOP9M/At+cO83N2ASifLn9ydHDcgwhuRr
 VHKtuSyFs+6Gg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id E4A624413CA;
 Wed, 29 Nov 2023 10:47:05 -0500 (EST)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D2A541201AA;
 Wed, 29 Nov 2023 10:47:05 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
In-Reply-To: <CALDnm51_rmcxZE_YPTUjERCMmoDGJnaDqih0FJJser_WRqZUsA@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Wed, 29 Nov 2023
 14:36:15 +0000")
Message-ID: <jwvzfywmuql.fsf-monnier+emacs@HIDDEN>
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
 <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
 <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
 <CALDnm51_rmcxZE_YPTUjERCMmoDGJnaDqih0FJJser_WRqZUsA@HIDDEN>
Date: Wed, 29 Nov 2023 10:46:52 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.118 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org,
 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> I think this works nowadays (the expression is not evaluated in the
>> right context (it's evaluated in the empty context), but AFAICT it's
>> evaluated at the right time):
> No, I think there's something off.   In CLOS:
[...]
> *** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
> ELISP> (defclass foo () ((bar :initarg :bar :initform (error "BAR is
> required!"))))
> *** Eval error ***  BAR is required!
> ELISP>

Duh!  Still victim from the original EIEIO design where the `:initform`s
were executed at `defclass` time and then stored in a kind of
"prototype" object (presumably to speed up the creation of objects).

I pushed the patch below to fix this problem.  I can't believe this has
lingered since my Emacs-25 "rework" where I went through the trouble to
better align the semantics with that of CLOS.


        Stefan


diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index a394156c93a..37c5ebdb6da 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -951,7 +951,10 @@ eieio-set-defaults
   (let ((slots (eieio--class-slots (eieio--object-class obj))))
     (dotimes (i (length slots))
       (let* ((name (cl--slot-descriptor-name (aref slots i)))
-             (df (eieio-oref-default obj name)))
+             ;; If the `:initform` signals an error, just skip it,
+             ;; since the error is intended to be signal'ed from
+             ;; `initialize-instance` rather than at the time of `defclass`.
+             (df (ignore-errors (eieio-oref-default obj name))))
         (if (or df set-all)
             (eieio-oset obj name df))))))
 





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 15:44:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:44:23 2023
Received: from localhost ([127.0.0.1]:50748 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8Mjf-0005Bq-Cg
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:44:23 -0500
Received: from mail-lf1-x131.google.com ([2a00:1450:4864:20::131]:53517)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1r8Mjc-0005BX-S8
 for 66938 <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:44:21 -0500
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-50bc9931c82so221415e87.3
 for <66938 <at> debbugs.gnu.org>; Wed, 29 Nov 2023 07:44:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701272647; x=1701877447; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=GdQDVHypaO4tTrq8bsN1toTGM6ERe/SiHu7wSgq5/QY=;
 b=VjAjTUX/uKB5G3DwN3no7vWsUvn6yOEoMI7sCFYiELTBAs7AWtSZQzHWmzZ7PhBhiW
 WzvaoXi4DOy+q02/rg8cHelUqCmemEibhi8EFqzPdKbiiLLATmi8lNsJQkKs5lyMP4nV
 iyu0Co3SGnfYh9zPxHUkbfclRzTKzjUke2CyZlnwvVWnUzH70x8+2C9CXgc9UQu87sgu
 em/CRN1FYn7IRueAXGUtoCmWiRXtfa/8X1x7A6IMyHenpN5Nc84NG86cs90csgXOuWJ2
 2pSEn15TCUrsNfTFUXt/9brosah4QW5rPS5dehO1YyJ0PBXHtR1o5qlFNYAR0umtn6Lp
 OoMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701272647; x=1701877447;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=GdQDVHypaO4tTrq8bsN1toTGM6ERe/SiHu7wSgq5/QY=;
 b=vsQhoiFPJMCt2Xdfbev2hRfgbX1MYFxM7WKKL+hF1SvhO+XlXh+opq0xW7xr7ThOn+
 3IF58SOYv7AAuHCGW8RdsjIMGdG4yfY1QVM7pLc62s+4Nfz+VH1UdwaGqkUhTCTHwbDE
 dYaMc+rsQV0jIi/tWL3rCjc2n6k3gRjeahL0W5yAD/PHPSnBO/rcb0qZx3xbshd4pCMS
 4L+LaWvBxg9uLpVHxSB0iQImcnmgXlmo8byrC8uV9eVX8XO8ODrgQNmc5QCpJcEd7H9h
 x9WRTFHjuO0xakX4/4K1/hMjd619RuXdgESVADE233pi6HSr5uHMlm98MyT9gExNVmvR
 omRA==
X-Gm-Message-State: AOJu0Yw39nTH/s8pZKqDEsdHRRAl5BWmZb7Z+AwKhdKpK7NT2jG+2CWs
 V7HUC5v6ADhXbkEG67Qtm7ac2/JuBljl4F7zFMY=
X-Google-Smtp-Source: AGHT+IHIMhoHp65oJF+mEAb1hczwEekek5nnO00u0GUUNLrmR0kvWupINyczALr+h95LgSUZyaO8zSxn7cX0RZH+GIg=
X-Received: by 2002:a05:6512:1282:b0:50b:ae84:f468 with SMTP id
 u2-20020a056512128200b0050bae84f468mr8385506lfs.63.1701272646473; Wed, 29 Nov
 2023 07:44:06 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <86plztnwmi.fsf@HIDDEN>
 <CALDnm51BpBK7=wCjP-Pcba6mM4Ca+y9-dzrjOKMfDn=xzfD_nw@HIDDEN>
 <87wmu0eg1x.fsf@HIDDEN>
In-Reply-To: <87wmu0eg1x.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 29 Nov 2023 15:43:55 +0000
Message-ID: <CALDnm519piNBxkgu1Y5vNY_VWTWmnU=XyH35cAYQuZ84MLgKUQ@HIDDEN>
Subject: Re: bug#66938: 30.0.50; Commit 6c47931a1ad4de ("Make EIEIO
 ':accessor' behave like ':reader' when reading (bug#66938)") breaks Eglot
To: =?UTF-8?Q?Arsen_Arsenovi=C4=87?= <arsen@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938
Cc: 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Wed, Nov 29, 2023 at 3:26=E2=80=AFPM Arsen Arsenovi=C4=87 <arsen@aarsen.=
me> wrote:

> Indeed, apologies.  There was a race between me finding the commit that
> broke jsonrpc.el and you fixing it :-)
>
> Thanks for the prompt fix.

You're welcome, and no need to apologize!

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 15:27:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:27:13 2023
Received: from localhost ([127.0.0.1]:50739 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8MT2-0004dL-JO
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:27:13 -0500
Received: from mout-p-202.mailbox.org ([2001:67c:2050:0:465::202]:53572)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arsen@HIDDEN>) id 1r8MT0-0004d1-FO
 for 66938 <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:27:11 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4SgNTp63hnz9s9q;
 Wed, 29 Nov 2023 16:26:54 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aarsen.me; s=MBO0001; 
 t=1701271614;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=p+Q14F5aZH7HoZ3dMRP1KqAf52va19e5WFJDxjntLSQ=;
 b=V3SETWlbyevMUhkWZqPu5sB6FT++LpiLuuzEGqJx2qwWTCYAk35tfKZUZ0+GxgwxJ4f0KM
 iH8yvSgh9Wog2hUCMYaXjo40yK2xM+KhDP93Jrnizi3qQDX5EG+Sl7+jXmvZeyMmgOngL8
 pZbvB4NsejXUn5kdc9xGz5lgfxs4cDcHWMRstUdT7mN2Qhgmw1pncunqM3LADw9Qq2oosL
 eFyO4ugRsgJtfGEkWT7nt3xsxoUifs8XpFfUdXnyd8GG6+Z7Ty9zYgyWZNeoUABkZC2dOm
 ZufAGiWnqVWN0pWJOHJrSggnqvxfn+HolAjLvqQNeHJXMOgbYUR/Ze7XAYPVpw==
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <86plztnwmi.fsf@HIDDEN>
 <CALDnm51BpBK7=wCjP-Pcba6mM4Ca+y9-dzrjOKMfDn=xzfD_nw@HIDDEN>
From: Arsen =?utf-8?Q?Arsenovi=C4=87?= <arsen@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#66938: 30.0.50; Commit 6c47931a1ad4de ("Make EIEIO
 ':accessor' behave like ':reader' when reading (bug#66938)") breaks Eglot
Date: Wed, 29 Nov 2023 16:25:25 +0100
In-reply-to: <CALDnm51BpBK7=wCjP-Pcba6mM4Ca+y9-dzrjOKMfDn=xzfD_nw@HIDDEN>
Message-ID: <87wmu0eg1x.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 66938
Cc: 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:

> merge 66938 67480
> thanks
>
> Please see bug#67480.  This has been fixed in master already, I think.
> Jo=C3=A3o

Indeed, apologies.  There was a race between me finding the commit that
broke jsonrpc.el and you fixing it :-)

Thanks for the prompt fix.

Have a lovely day.
=2D-=20
Arsen Arsenovi=C4=87

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIYEARYKAC4WIQT+4rPRE/wAoxYtYGFSwpQwHqLEkwUCZWdYOhAcYXJzZW5AYWFy
c2VuLm1lAAoJEFLClDAeosSToeUBAIZDm+I0EOz/XLjv+CUtX8vbv3qp6brEMycr
Pl+0FOWzAP0c6YZkz8FFXKLv0WIB+Ycl42/Rnoy0Zdbbv1K9wDanCA==
=wmM8
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 15:02:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 10:02:27 2023
Received: from localhost ([127.0.0.1]:50713 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8M54-0003v6-MG
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:02:27 -0500
Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:52681)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>) id 1r8M51-0003un-8r
 for 66938 <at> debbugs.gnu.org; Wed, 29 Nov 2023 10:02:24 -0500
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40b552deba0so4415155e9.1
 for <66938 <at> debbugs.gnu.org>; Wed, 29 Nov 2023 07:02:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701270130; x=1701874930; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=jbZbbPATTKqQoMBKeQcsRmbpvzJoj6dn/oRWZfdGbGY=;
 b=BDLvBvJnas/kK74ju4Ac6ShCLmuC39qm2GjEIr4YRWigp4s0EuZQMonvpJ+JZA+klV
 l7Quf0fk+qTPrxw0cdhbyWyoF3wAYctoGglCoxtO04z9OVv0TfVGysj4NUhQXdzsZ3ih
 AvbBl/THVblP1jL8N/XNEJvQfzH8n2NGprYKndPCT1k0f/f6bRkdpZTQzpVpY/4gKpQd
 ZHvEc4EwDZv9UsHcEoNmkXjKwPpDU2Rvn6tWgPnfT78LLpLuDR3OWFXuwd8xXTNWI0Db
 9blo07KijEjsvNTvbolsdpph5/yDY7MoZeUpbNGO3ycF0OpXB9SD7HNnK5nrsGs01e/r
 3vjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701270130; x=1701874930;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=jbZbbPATTKqQoMBKeQcsRmbpvzJoj6dn/oRWZfdGbGY=;
 b=wg3BYyVBL0gDhKm8N8eIMJ0uUGVEg8K8bZHHJ23wSt50VxfitPEWIJuGm/LNgsq7O+
 heOkOBYryWA+ypnBinkWXJMxVBR/XgpBg1znyUco7OfmBIsyi8U3DrF2FNxvkBCNtemJ
 er+smAKPbGV6AAwt4N852LVWXLWS/iMwGm8/BZsHmKQFs4hbZsefJkcvWFvQmN6mc7yH
 l7a/jp4J3RD8qb9D4tppbXHK7PCrXt0VhHSFhjZMrgeS+ipQqqDgls7T7+Yv7cvVZPbV
 q/gQrlaS24LVx1gPGWPsvmi8PNrRHnhzus19jnrpue+XZCBeehEvR+u+rUWJNQ+tN3rE
 WM8g==
X-Gm-Message-State: AOJu0Yxn+Ku3GGxOMnEGOYYVDq6EFVF17YV88+7QaKHiAXeV1Atgdg1i
 5efGm7OXUTFZXqx4mF7ALCHQSl8RUIiJpOxT0DGm593XIxc=
X-Google-Smtp-Source: AGHT+IGo/mPh2iAQrmiHxxr/Mvn66a8xoJq5HvM9DFRqxGwruAsC9O/V1ETy4gH7NpgpVSAl8bPciN8gjiGHWgWKhE8=
X-Received: by 2002:a05:6512:39cc:b0:50b:a697:c2f with SMTP id
 k12-20020a05651239cc00b0050ba6970c2fmr10136347lfu.52.1701270108761; Wed, 29
 Nov 2023 07:01:48 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <86plztnwmi.fsf@HIDDEN>
In-Reply-To: <86plztnwmi.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 29 Nov 2023 15:01:37 +0000
Message-ID: <CALDnm51BpBK7=wCjP-Pcba6mM4Ca+y9-dzrjOKMfDn=xzfD_nw@HIDDEN>
Subject: Re: bug#66938: 30.0.50; Commit 6c47931a1ad4de ("Make EIEIO
 ':accessor' behave like ':reader' when reading (bug#66938)") breaks Eglot
To: =?UTF-8?Q?Arsen_Arsenovi=C4=87?= <arsen@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938
Cc: 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

merge 66938 67480
thanks

Please see bug#67480.  This has been fixed in master already, I think.
Jo=C3=A3o


On Wed, Nov 29, 2023 at 2:05=E2=80=AFAM Arsen Arsenovi=C4=87 via Bug report=
s for
GNU Emacs, the Swiss army knife of text editors
<bug-gnu-emacs@HIDDEN> wrote:
>
> Hi,
>
> The commit referenced above seems to break Eglot.  It generates the
> following stack trace:
>
> Debugger entered--Lisp error: (unbound-slot eglot-lsp-server "#<eglot-lsp=
-server eglot-lsp-server-156c8b8af842>" -events-buffer oref)
>   signal(unbound-slot (eglot-lsp-server "#<eglot-lsp-server eglot-lsp-ser=
ver-156c8b8af842>" -events-buffer oref))
> ... ; Removing extremely long frames
>   eieio-barf-if-slot-unbound(eieio--unbound #<eglot-lsp-server eglot-lsp-=
server-156c8b8af842> -events-buffer oref)
>   slot-value(#<eglot-lsp-server eglot-lsp-server-156c8b8af842> -events-bu=
ffer)
>   #f(compiled-function (this) "Retrieve the slot `-events-buffer' from an=
 object of class\n`jsonrpc-connection'." #<bytecode -0x1b11cbbb3991ccc5>)(#=
<eglot-lsp-server eglot-lsp-server-156c8b8af842>)
>   apply(#f(compiled-function (this) "Retrieve the slot `-events-buffer' f=
rom an object of class\n`jsonrpc-connection'." #<bytecode -0x1b11cbbb3991cc=
c5>) #<eglot-lsp-server eglot-lsp-server-156c8b8af842> nil)
>   jsonrpc--events-buffer(#<eglot-lsp-server eglot-lsp-server-156c8b8af842=
>)
>   jsonrpc-events-buffer(#<eglot-lsp-server eglot-lsp-server-156c8b8af842>=
)
>   jsonrpc--log-event(#<eglot-lsp-server eglot-lsp-server-156c8b8af842> (:=
message "Running language server: /usr/lib/llvm/17/bin/clangd"))
>   jsonrpc--debug(#<eglot-lsp-server eglot-lsp-server-156c8b8af842> "Runni=
ng language server: %s" "/usr/lib/llvm/17/bin/clangd")
>   eglot--connect((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) (trans=
ient . "/tmp/") eglot-lsp-server ("/usr/lib/llvm/17/bin/clangd") ("c" "c" "=
c++" "c++" "objc"))
>   eglot((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) (transient . "/=
tmp/") eglot-lsp-server ("/usr/lib/llvm/17/bin/clangd") ("c" "c" "c++" "c++=
" "objc") t)
>   funcall-interactively(eglot (c-mode c-ts-mode c++-mode c++-ts-mode objc=
-mode) (transient . "/tmp/") eglot-lsp-server ("/usr/lib/llvm/17/bin/clangd=
") ("c" "c" "c++" "c++" "objc") t)
>   command-execute(eglot record)
>   execute-extended-command(nil "eglot" "eglot")
>   funcall-interactively(execute-extended-command nil "eglot" "eglot")
>   command-execute(execute-extended-command)
>
> Reproduction steps:
>
> - emacs -q
> - C-x C-f foo.c RET
> - M-x eglot RET
>
> Apologies for my brevity and lack of analysis and/or a patch - it is
> getting late.
>
> Have a lovely night.
>
> (note that the info below does not come from the emacs -q session I was
> testing this in, but I can also reproduce this issue in this session)
>
> In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
>  3.24.38, cairo version 1.18.0) of 2023-11-28 built on localhost
> Repository revision: 7a5c91a2831602c3cd961158cf0b6a876852d7ac
> Repository branch: master
> System Description: Gentoo Linux
>
> Configured using:
>  'configure --prefix=3D/usr --build=3Dx86_64-pc-linux-gnu
>  --host=3Dx86_64-pc-linux-gnu --mandir=3D/usr/share/man
>  --infodir=3D/usr/share/info --datadir=3D/usr/share --sysconfdir=3D/etc
>  --localstatedir=3D/var/lib --datarootdir=3D/usr/share
>  --disable-silent-rules --docdir=3D/usr/share/doc/emacs-30.0.9999
>  --htmldir=3D/usr/share/doc/emacs-30.0.9999/html --libdir=3D/usr/lib64
>  --program-suffix=3D-emacs-30-vcs --includedir=3D/usr/include/emacs-30-vc=
s
>  --infodir=3D/usr/share/info/emacs-30-vcs --localstatedir=3D/var
>  --enable-locallisppath=3D/etc/emacs:/usr/share/emacs/site-lisp
>  --without-compress-install --without-hesiod --without-pop
>  --with-file-notification=3Dinotify --with-pdumper --enable-acl
>  --enable-xattr --with-dbus --with-modules --with-gameuser=3D:gamestat
>  --with-libgmp --with-gpm --with-native-compilation=3Daot --with-json
>  --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2
>  --with-mailutils --without-selinux --without-small-ja-dic
>  --with-sqlite3 --with-gnutls --with-libsystemd --with-threads
>  --with-tree-sitter --without-wide-int --with-sound=3Dalsa --with-zlib
>  --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars
>  --without-gconf --without-gsettings --with-harfbuzz --with-libotf
>  --with-m17n-flt --with-xwidgets --with-gif --with-jpeg --with-png
>  --with-rsvg --with-tiff --with-webp --without-imagemagick
>  --with-dumping=3Dpdumper 'CFLAGS=3D-freport-bug -O3 -ggdb3 -pipe
>  -fdiagnostics-color=3Dalways -march=3Dx86-64-v2 -flto' 'LDFLAGS=3D-Wl,-O=
1
>  -Wl,--as-needed -O3 -Wl,-O3 -pipe -fdiagnostics-color=3Dalways
>  -Wl,--defsym=3D__gentoo_check_ldflags__=3D0 -Wl,-z,pack-relative-relocs
>  -Wl,--build-id -flto''
>
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2
> LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
> PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
> TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB
>
> Important settings:
>   value of $LC_TIME: en_GB.UTF-8
>   value of $LANG: en_US.utf8
>   locale-coding-system: utf-8-unix
>
> Major mode: Fundamental
>
> Minor modes in effect:
>   global-git-commit-mode: t
>   magit-auto-revert-mode: t
>   TeX-PDF-mode: t
>   diff-hl-flydiff-mode: t
>   global-jinx-mode: t
>   savehist-mode: t
>   save-place-mode: t
>   desktop-save-mode: t
>   global-hl-line-mode: t
>   mu4e-modeline-mode: t
>   corfu-popupinfo-mode: t
>   global-corfu-mode: t
>   corfu-mode: t
>   marginalia-mode: t
>   vertico-mouse-mode: t
>   vertico-mode: t
>   which-key-mode: t
>   global-display-fill-column-indicator-mode: t
>   display-fill-column-indicator-mode: t
>   which-function-mode: t
>   electric-pair-mode: t
>   global-whitespace-mode: t
>   override-global-mode: t
>   tooltip-mode: t
>   global-eldoc-mode: t
>   show-paren-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tab-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   minibuffer-regexp-mode: t
>   column-number-mode: t
>   line-number-mode: t
>   indent-tabs-mode: t
>   transient-mark-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>
> Load-path shadows:
> /usr/share/emacs/site-lisp/cmake-mode hides /usr/share/emacs/site-lisp/cm=
ake/cmake-mode
> /usr/share/emacs/site-lisp/desktop-entry-mode hides /usr/share/emacs/site=
-lisp/desktop-file-utils/desktop-entry-mode
> /usr/share/emacs/site-lisp/ninja/ninja-mode hides /usr/share/emacs/site-l=
isp/ninja-kitware/ninja-mode
> /usr/share/emacs/site-lisp/transient/transient hides /usr/share/emacs/30.=
0.50/lisp/transient
>
> Features:
> (shadow emacsbug view woman man org-clock dabbrev cape completion
> image-file image-converter sort smiley gnus-cite mm-archive mail-extr qp
> textsec uni-scripts idna-mapping ucs-normalize uni-confusable
> textsec-check magit-bookmark git-rebase magit-extras
> magit-sparse-checkout magit-gitignore magit-ediff ediff ediff-merg
> ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
> magit-subtree magit-patch magit-submodule magit-blame magit-stash
> magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
> magit-remote magit-commit magit-sequence magit-notes magit-worktree
> magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
> magit-status magit package url-handlers magit-repos magit-apply
> magit-wip magit-log magit-diff smerge-mode git-commit log-edit
> magit-core magit-autorevert magit-margin magit-transient magit-process
> with-editor comp comp-cstr server magit-mode transient magit-git
> magit-base magit-section cursor-sensor face-remap shortdoc pulse
> consult-xref disass misearch multi-isearch help-fns radix-tree cl-print
> cus-start eglot external-completion jsonrpc xref ert debug backtrace
> tramp-cache time-stamp consult pcmpl-unix em-unix em-term term ehelp
> em-script em-prompt em-pred em-ls em-hist em-glob em-extpipe em-cmpl
> em-dirs em-basic em-banner em-alias esh-mode esh-var eshell esh-cmd
> esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
> vertico-directory add-log tar-mode arc-mode archive-mode font-latex
> preview latex latex-flymake tex-ispell tex-style tex-mode tex-info tex
> crm texmathp texinfo texinfo-loaddefs typescript-mode mhtml-mode
> css-mode js c-ts-common conf-mode flycheck-pkgcheck meson-mode tcl
> ruby-mode cperl-mode rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid
> rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
> nxml-ns nxml-mode nxml-outln nxml-rap sgml-mode facemenu nxml-util
> nxml-enc xmltok flymake-cc flymake compile warnings yaml-mode
> autoconf-mode python project pcase dired-aux make-mode ld-script m4-mode
> info cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
> cc-engine cc-vars cc-defs autorevert vc-git diff-hl-flydiff diff diff-hl
> log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode jinx
> ebuild-mode skeleton sh-script smie treesit executable
> display-line-numbers oc-basic org-element org-persist org-id org-refile
> avl-tree generator ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc
> ol-info ol-gnus nnselect ol-docview doc-view filenotify jka-compr
> image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi
> savehist saveplace tramp-sh tramp trampver tramp-integration files-x
> tramp-message tramp-compat xdg shell tramp-loaddefs desktop frameset
> cus-load mu4e mu4e-org mu4e-notification notifications mu4e-main
> mu4e-view thingatpt gnus-art mm-uu mml2015 mm-view mml-smime smime
> gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus
> comp-run comp-common gnus-cloud nnimap nnmail mail-source utf7 nnoo
> parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus nnheader
> range wid-edit mu4e-headers mu4e-compose mu4e-draft mu4e-actions
> smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message
> shr pixel-fill kinsoku url-file browse-url url url-proxy url-privacy
> url-expand url-methods url-history url-cookie generate-lisp-file
> url-domsuf url-util flow-fill mule-util hl-line mu4e-contacts
> mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server
> mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window bookmark pp
> ido message sendmail mailcap yank-media puny dired dired-loaddefs rfc822
> mml mml-sec epa derived epg rfc6068 epg-config gnus-util
> text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231
> rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils
> gmm-utils mailheader mu4e-obsolete auth-source-pass url-parse url-vars
> auth-source eieio eieio-core password-cache modus-vivendi-tinted-theme
> modus-themes kind-icon svg-lib color svg dom xml corfu-popupinfo corfu
> orderless marginalia vertico-mouse vertico compat flycheck json map dash
> org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src
> ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color org-list
> org-footnote org-faces org-entities time-date noutline outline
> ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold
> org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar
> cal-loaddefs org-version org-compat org-macs format-spec which-key
> ace-window subr-x avy ring edmacro kmacro byte-opt
> display-fill-column-indicator disp-table which-func imenu elec-pair
> icons whitespace cl-macs gv cl-extra help-mode cl-seq use-package
> use-package-ensure use-package-delight use-package-diminish
> use-package-bind-key bind-key easy-mmode use-package-core cl-loaddefs
> cl-lib bytecomp byte-compile site-gentoo preview-latex ess-autoloads
> ess-generics tex-site rmc iso-transl tooltip cconv eldoc paren electric
> uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
> term/pgtk-win pgtk-win term/common-win pgtk-dnd touch-screen tool-bar
> dnd fontset image regexp-opt fringe tabulated-list replace newcomment
> text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
> isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
> font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
> indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
> tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
> romanian slovak czech european ethiopic indian cyrillic chinese
> composite emoji-zwj charscript charprop case-table epa-hook
> jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
> theme-loaddefs faces cus-face macroexp files window text-properties
> overlay sha1 md5 base64 format env code-pages mule custom widget keymap
> hashtable-print-readable backquote threads xwidget-internal dbusbind
> inotify dynamic-setting font-render-setting cairo gtk pgtk lcms2
> multi-tty move-toolbar make-network-process native-compile emacs)
>
> Memory information:
> ((conses 16 1820713 3119067) (symbols 48 62485 159) (strings 32 319528 93=
051)
>  (string-bytes 1 11499903) (vectors 16 193722) (vector-slots 8 3684047 27=
41445)
>  (floats 8 936 13963) (intervals 56 100361 18396) (buffers 992 330))
> --
> Arsen Arsenovi=C4=87



--
Jo=C3=A3o T=C3=A1vora




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938-done <at> debbugs.gnu.org:


Received: (at 66938-done) by debbugs.gnu.org; 29 Nov 2023 14:36:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 09:36:43 2023
Received: from localhost ([127.0.0.1]:49261 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8LgA-0002op-OJ
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 09:36:43 -0500
Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:54542)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>)
 id 1r8Lg8-0002oY-Nw; Wed, 29 Nov 2023 09:36:41 -0500
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507a29c7eefso8932606e87.1; 
 Wed, 29 Nov 2023 06:36:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701268587; x=1701873387; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=aIC4DUW5s5MnF6dx0nd4IiC9BJA4rbM2FTXOs1oLq7c=;
 b=G5ntuHe+f/8Fy/S+GNhnuUeWBzAPUkiw3a4CE4rVB0ZgGbSlLSYVYLQ0wCpxMtP10L
 rZytL372fSr4frUgaQxHCXdJ2GTkTuTQNcOlJMMq46Caa21awZ2CI19nGVCOyJRn9cQu
 ds5dV8JAc+RQPGuF8VEDTa5MG9S6GnCk6fsspPzB1wLRkaIEbgVVF8DKirFIOAiWeiuk
 llPr2g0OhqxSjtfcdwIIAvr77jw/9ocEPPXo5B02FowUiDOaH/YdIeMrAU7YDMSRl4iw
 DKGRiaI2PxxMCb7IaNt/bbFf0FMYtNs8JAMO22hdrD8FdyHDYh3NBb3EZqUnWMbU5+Bb
 EDCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701268587; x=1701873387;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=aIC4DUW5s5MnF6dx0nd4IiC9BJA4rbM2FTXOs1oLq7c=;
 b=eP2Y2WowHL3fZTcg1YcYS4Xj/AzOvnFeUZTPaFOmIY5MFG4HBX13aMlSWnDOK9bGRb
 yQR/tNb4eMCI07Lno+HbdVX4hYF2fcdIDs/1CPbj47/DGQPR9/PAm8+NK5rbjy4Tr/Ti
 0VQLwz3xiYZXkpVro3Jh4G+KcJqMTt6Tvq+TP0tnGd7kFYNPAg4BTYHb8/MMZkjOueKw
 01s0wOWy2xouJ/bEPrltE93TlWIQAERoqIinCfreQ9Bzbh2DMCo/UdoIiy0Kv9tPhB/u
 l9YKIJSXy3VYO+GhmfuKySpISyf1ttJteA/WV7iz9KdlkFTVO7eJW7/M9ePjjE2w7fXu
 Q0WQ==
X-Gm-Message-State: AOJu0YycgzTs0zfEgu64OMq98AIl/+IdOysCbm4nneRIlJwxfXQHIelt
 zvsbph3R4eJynX2dn1tqCsb3q488hOKOqZyhoH4=
X-Google-Smtp-Source: AGHT+IHsEHbcFQ2gfgZG5weiKCPdf0yBkr55giBzG9EQ6/ZOBRwYXt4oR+KrzvKaFNPoiio6qkz+ditMnoF2wxszTd0=
X-Received: by 2002:ac2:430c:0:b0:50b:c26e:bfc1 with SMTP id
 l12-20020ac2430c000000b0050bc26ebfc1mr2014330lfh.59.1701268586971; Wed, 29
 Nov 2023 06:36:26 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
 <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
 <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 29 Nov 2023 14:36:15 +0000
Message-ID: <CALDnm51_rmcxZE_YPTUjERCMmoDGJnaDqih0FJJser_WRqZUsA@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938-done
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org,
 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Wed, Nov 29, 2023 at 2:01=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:
>
> > Just wanted to say that while I think this is all very fine to
> > improve on EIEIO's inaccurate emulation of CLOS, this breaks
> > a lot of stuff, broke Eglot and Jsonrpc, immediately.
> >
> > This is mainly because EIEIO users like me got sloppy with
> > their slot definitions and don't put explicit :initforms
> > in them, instead relying on this quirk.
>
> FWIW, I don't like the `slot-boundp` business and much prefer the
> principle that if an application needs such a concept it should instead
> treat nil as the "unbound" marker.

Of course, this 'business' is so that you can perform these lazy
optimizations without a given user of a class ever noticing.  You
can even replace a slot by some other storage/generation mechanism
completely.  That's what all these (fairly expensive, granted) indirections
get you.  Also, as you probably guess, nil is a notoriously problematic
"unbound" marker.

> > Oh well, I'm fixing this now as part of bug#67480, but
> > we should definitely expect flak more or less proportional
> > to the use of EIEIO out there (and in here).
>
> Hmm...

I've seen two or three issues about this already.  But let's hope
for the best.  I support these fixes.

> > BTW another reason I get sloppy is that EIEIO doesn't allow
> > me to use a
> >
> > (some-slot :initform (error "required!") ...)
> >
> > like I do in CLOS.
>
> I think this works nowadays (the expression is not evaluated in the
> right context (it's evaluated in the empty context), but AFAICT it's
> evaluated at the right time):

No, I think there's something off.   In CLOS:

; SLY 1.0.43 (#<MREPL mrepl-1-1>)
CL-USER> (defclass foo () ((bar :initarg :bar :initform (error "BAR is
required!"))))
#<STANDARD-CLASS COMMON-LISP-USER::FOO>
CL-USER> (make-instance 'foo :bar 42)
#<FOO {100406B243}>
CL-USER> (make-instance 'foo)
; Debugger entered on #<SIMPLE-ERROR "BAR is required!" {1004301983}>

You can't do this in EIEIO:

*** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
ELISP> (defclass foo () ((bar :initarg :bar :initform (error "BAR is
required!"))))
*** Eval error ***  BAR is required!
ELISP>




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 14:36:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 09:36:42 2023
Received: from localhost ([127.0.0.1]:49259 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8LgA-0002om-9C
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 09:36:42 -0500
Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:54542)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>)
 id 1r8Lg8-0002oY-Nw; Wed, 29 Nov 2023 09:36:41 -0500
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507a29c7eefso8932606e87.1; 
 Wed, 29 Nov 2023 06:36:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701268587; x=1701873387; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=aIC4DUW5s5MnF6dx0nd4IiC9BJA4rbM2FTXOs1oLq7c=;
 b=G5ntuHe+f/8Fy/S+GNhnuUeWBzAPUkiw3a4CE4rVB0ZgGbSlLSYVYLQ0wCpxMtP10L
 rZytL372fSr4frUgaQxHCXdJ2GTkTuTQNcOlJMMq46Caa21awZ2CI19nGVCOyJRn9cQu
 ds5dV8JAc+RQPGuF8VEDTa5MG9S6GnCk6fsspPzB1wLRkaIEbgVVF8DKirFIOAiWeiuk
 llPr2g0OhqxSjtfcdwIIAvr77jw/9ocEPPXo5B02FowUiDOaH/YdIeMrAU7YDMSRl4iw
 DKGRiaI2PxxMCb7IaNt/bbFf0FMYtNs8JAMO22hdrD8FdyHDYh3NBb3EZqUnWMbU5+Bb
 EDCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701268587; x=1701873387;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=aIC4DUW5s5MnF6dx0nd4IiC9BJA4rbM2FTXOs1oLq7c=;
 b=eP2Y2WowHL3fZTcg1YcYS4Xj/AzOvnFeUZTPaFOmIY5MFG4HBX13aMlSWnDOK9bGRb
 yQR/tNb4eMCI07Lno+HbdVX4hYF2fcdIDs/1CPbj47/DGQPR9/PAm8+NK5rbjy4Tr/Ti
 0VQLwz3xiYZXkpVro3Jh4G+KcJqMTt6Tvq+TP0tnGd7kFYNPAg4BTYHb8/MMZkjOueKw
 01s0wOWy2xouJ/bEPrltE93TlWIQAERoqIinCfreQ9Bzbh2DMCo/UdoIiy0Kv9tPhB/u
 l9YKIJSXy3VYO+GhmfuKySpISyf1ttJteA/WV7iz9KdlkFTVO7eJW7/M9ePjjE2w7fXu
 Q0WQ==
X-Gm-Message-State: AOJu0YycgzTs0zfEgu64OMq98AIl/+IdOysCbm4nneRIlJwxfXQHIelt
 zvsbph3R4eJynX2dn1tqCsb3q488hOKOqZyhoH4=
X-Google-Smtp-Source: AGHT+IHsEHbcFQ2gfgZG5weiKCPdf0yBkr55giBzG9EQ6/ZOBRwYXt4oR+KrzvKaFNPoiio6qkz+ditMnoF2wxszTd0=
X-Received: by 2002:ac2:430c:0:b0:50b:c26e:bfc1 with SMTP id
 l12-20020ac2430c000000b0050bc26ebfc1mr2014330lfh.59.1701268586971; Wed, 29
 Nov 2023 06:36:26 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
 <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
 <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 29 Nov 2023 14:36:15 +0000
Message-ID: <CALDnm51_rmcxZE_YPTUjERCMmoDGJnaDqih0FJJser_WRqZUsA@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org,
 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Wed, Nov 29, 2023 at 2:01=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:
>
> > Just wanted to say that while I think this is all very fine to
> > improve on EIEIO's inaccurate emulation of CLOS, this breaks
> > a lot of stuff, broke Eglot and Jsonrpc, immediately.
> >
> > This is mainly because EIEIO users like me got sloppy with
> > their slot definitions and don't put explicit :initforms
> > in them, instead relying on this quirk.
>
> FWIW, I don't like the `slot-boundp` business and much prefer the
> principle that if an application needs such a concept it should instead
> treat nil as the "unbound" marker.

Of course, this 'business' is so that you can perform these lazy
optimizations without a given user of a class ever noticing.  You
can even replace a slot by some other storage/generation mechanism
completely.  That's what all these (fairly expensive, granted) indirections
get you.  Also, as you probably guess, nil is a notoriously problematic
"unbound" marker.

> > Oh well, I'm fixing this now as part of bug#67480, but
> > we should definitely expect flak more or less proportional
> > to the use of EIEIO out there (and in here).
>
> Hmm...

I've seen two or three issues about this already.  But let's hope
for the best.  I support these fixes.

> > BTW another reason I get sloppy is that EIEIO doesn't allow
> > me to use a
> >
> > (some-slot :initform (error "required!") ...)
> >
> > like I do in CLOS.
>
> I think this works nowadays (the expression is not evaluated in the
> right context (it's evaluated in the empty context), but AFAICT it's
> evaluated at the right time):

No, I think there's something off.   In CLOS:

; SLY 1.0.43 (#<MREPL mrepl-1-1>)
CL-USER> (defclass foo () ((bar :initarg :bar :initform (error "BAR is
required!"))))
#<STANDARD-CLASS COMMON-LISP-USER::FOO>
CL-USER> (make-instance 'foo :bar 42)
#<FOO {100406B243}>
CL-USER> (make-instance 'foo)
; Debugger entered on #<SIMPLE-ERROR "BAR is required!" {1004301983}>

You can't do this in EIEIO:

*** Welcome to IELM ***  Type (describe-mode) or press C-h m for help.
ELISP> (defclass foo () ((bar :initarg :bar :initform (error "BAR is
required!"))))
*** Eval error ***  BAR is required!
ELISP>




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938-done <at> debbugs.gnu.org:


Received: (at 66938-done) by debbugs.gnu.org; 29 Nov 2023 14:02:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 09:02:03 2023
Received: from localhost ([127.0.0.1]:49173 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8L8c-0001st-Fk
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 09:02:02 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:47037)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1r8L8Z-0001sB-Uh; Wed, 29 Nov 2023 09:02:00 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 997F4441352;
 Wed, 29 Nov 2023 09:01:46 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1701266505;
 bh=zBHGneXdPcV6lcn3PcYgm1jL3yFWt4KPQBEWnP16FQY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=X8u3zYfJAp34GJwSgJfUoaFdsy6A0s2vSSVmq+ki4h7Sh41TeIzyaYnsmSOWsBQAC
 Fl3Jaoos3qHJ9hWJS5toYS33EJhD9LKpVUba8+1uqaXgNfHl19/10V487ffJ53TDEh
 gGJiy73InXGmgZ11wmJ5WfuvNu84w0puGFVIJPV9IDKIjF3YJFu3kVERv6zz+D61j3
 vlU8EWI6baZmsFyLkp55XadPL5QDQS2ua5+Y3IlWTEVu2eBVVkMFuf6gH1JSZHp8nt
 4+TnGL4VGX7s5uKYP3UtWWg1R2Ql2kxheMpUmxzdZMmds2q/yUoAiPVQNL78v+53QU
 tUL/cwyPJrxdg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 99E6844132E;
 Wed, 29 Nov 2023 09:01:45 -0500 (EST)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 88CDF120153;
 Wed, 29 Nov 2023 09:01:45 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
In-Reply-To: <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Wed, 29 Nov 2023
 00:29:31 +0000")
Message-ID: <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
 <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
Date: Wed, 29 Nov 2023 09:01:32 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.119 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938-done
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org,
 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Just wanted to say that while I think this is all very fine to
> improve on EIEIO's inaccurate emulation of CLOS, this breaks
> a lot of stuff, broke Eglot and Jsonrpc, immediately.
>
> This is mainly because EIEIO users like me got sloppy with
> their slot definitions and don't put explicit :initforms
> in them, instead relying on this quirk.

FWIW, I don't like the `slot-boundp` business and much prefer the
principle that if an application needs such a concept it should instead
treat nil as the "unbound" marker.

> Oh well, I'm fixing this now as part of bug#67480, but
> we should definitely expect flak more or less proportional
> to the use of EIEIO out there (and in here).

Hmm...

> BTW another reason I get sloppy is that EIEIO doesn't allow
> me to use a
>
> (some-slot :initform (error "required!") ...)
>
> like I do in CLOS.

I think this works nowadays (the expression is not evaluated in the
right context (it's evaluated in the empty context), but AFAICT it's
evaluated at the right time):

    (cl-defmethod initialize-instance ((this eieio-default-superclass)
    				   &optional args)
      [...]
          (let* ((slot (aref slots i))
                 (slot-name (eieio-slot-descriptor-name slot))
                 (initform (cl--slot-descriptor-initform slot)))
            [...]
              (eieio-oset this slot-name (eval initform t))))))
       [...]


-- Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 14:02:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 29 09:02:03 2023
Received: from localhost ([127.0.0.1]:49175 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r8L8c-0001sv-Vp
	for submit <at> debbugs.gnu.org; Wed, 29 Nov 2023 09:02:03 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:47037)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1r8L8Z-0001sB-Uh; Wed, 29 Nov 2023 09:02:00 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 997F4441352;
 Wed, 29 Nov 2023 09:01:46 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1701266505;
 bh=zBHGneXdPcV6lcn3PcYgm1jL3yFWt4KPQBEWnP16FQY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=X8u3zYfJAp34GJwSgJfUoaFdsy6A0s2vSSVmq+ki4h7Sh41TeIzyaYnsmSOWsBQAC
 Fl3Jaoos3qHJ9hWJS5toYS33EJhD9LKpVUba8+1uqaXgNfHl19/10V487ffJ53TDEh
 gGJiy73InXGmgZ11wmJ5WfuvNu84w0puGFVIJPV9IDKIjF3YJFu3kVERv6zz+D61j3
 vlU8EWI6baZmsFyLkp55XadPL5QDQS2ua5+Y3IlWTEVu2eBVVkMFuf6gH1JSZHp8nt
 4+TnGL4VGX7s5uKYP3UtWWg1R2Ql2kxheMpUmxzdZMmds2q/yUoAiPVQNL78v+53QU
 tUL/cwyPJrxdg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 99E6844132E;
 Wed, 29 Nov 2023 09:01:45 -0500 (EST)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 88CDF120153;
 Wed, 29 Nov 2023 09:01:45 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
In-Reply-To: <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
 (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Wed, 29 Nov 2023
 00:29:31 +0000")
Message-ID: <jwva5qwoe8k.fsf-monnier+emacs@HIDDEN>
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
 <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
Date: Wed, 29 Nov 2023 09:01:32 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.119 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org,
 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Just wanted to say that while I think this is all very fine to
> improve on EIEIO's inaccurate emulation of CLOS, this breaks
> a lot of stuff, broke Eglot and Jsonrpc, immediately.
>
> This is mainly because EIEIO users like me got sloppy with
> their slot definitions and don't put explicit :initforms
> in them, instead relying on this quirk.

FWIW, I don't like the `slot-boundp` business and much prefer the
principle that if an application needs such a concept it should instead
treat nil as the "unbound" marker.

> Oh well, I'm fixing this now as part of bug#67480, but
> we should definitely expect flak more or less proportional
> to the use of EIEIO out there (and in here).

Hmm...

> BTW another reason I get sloppy is that EIEIO doesn't allow
> me to use a
>
> (some-slot :initform (error "required!") ...)
>
> like I do in CLOS.

I think this works nowadays (the expression is not evaluated in the
right context (it's evaluated in the empty context), but AFAICT it's
evaluated at the right time):

    (cl-defmethod initialize-instance ((this eieio-default-superclass)
    				   &optional args)
      [...]
          (let* ((slot (aref slots i))
                 (slot-name (eieio-slot-descriptor-name slot))
                 (initform (cl--slot-descriptor-initform slot)))
            [...]
              (eieio-oset this slot-name (eval initform t))))))
       [...]


-- Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 29 Nov 2023 02:04:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 21:04:38 2023
Received: from localhost ([127.0.0.1]:48511 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r89wL-0005IW-Ac
	for submit <at> debbugs.gnu.org; Tue, 28 Nov 2023 21:04:38 -0500
Received: from lists.gnu.org ([2001:470:142::17]:60114)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arsen@HIDDEN>) id 1r89wH-0005IG-CV
 for submit <at> debbugs.gnu.org; Tue, 28 Nov 2023 21:04:35 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <arsen@HIDDEN>) id 1r89w1-0006PI-GD
 for bug-gnu-emacs@HIDDEN; Tue, 28 Nov 2023 21:04:20 -0500
Received: from mout-p-202.mailbox.org ([80.241.56.172])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256)
 (Exim 4.90_1) (envelope-from <arsen@HIDDEN>) id 1r89vy-0005og-Mb
 for bug-gnu-emacs@HIDDEN; Tue, 28 Nov 2023 21:04:17 -0500
Received: from smtp202.mailbox.org (smtp202.mailbox.org
 [IPv6:2001:67c:2050:b231:465::202])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4Sg2gX1Lnxz9sbr
 for <bug-gnu-emacs@HIDDEN>; Wed, 29 Nov 2023 03:04:08 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aarsen.me; s=MBO0001; 
 t=1701223448;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type;
 bh=cdV3ShBGbVuoZA8Zm6X59ZohUmZV1dZuJwVFabxNc+A=;
 b=p/dhM4JtOk4jXx/we8jQc+6sNpbjthsvuFCZyhMLZLL2mJzxDErVBOFm/qFeeLFj78TQlw
 F97btYqKkvV+afU+FsriFHXaxxms9yJXObbWq3WkuVBWY69uIRN+YSagJYhMJTuosTccpa
 BjuMst3MIYRjW+gqErjWMzxxcEOmPpdMWy836EQRWbzfddtVLOEhZmt0dLut+hipRT4TPz
 m+yV3/I3PWOCyq1456bLhuVEm/yiZBKinwyodSdI4aT5JknQLZVnWFdyACudQyb/nLuppU
 kqvyLuHzGJKKzhV6KB6TV/QVXds37Nqaz80dHrDVtm04yeMfB5/UrXXimg0Hdg==
From: Arsen =?utf-8?Q?Arsenovi=C4=87?= <arsen@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 30.0.50; Commit 6c47931a1ad4de ("Make EIEIO ':accessor' behave like
 ':reader' when reading (bug#66938)") breaks Eglot
Date: Wed, 29 Nov 2023 03:01:00 +0100
Message-ID: <86plztnwmi.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
X-Rspamd-Queue-Id: 4Sg2gX1Lnxz9sbr
Received-SPF: pass client-ip=80.241.56.172; envelope-from=arsen@HIDDEN;
 helo=mout-p-202.mailbox.org
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.6 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.4 (/)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

The commit referenced above seems to break Eglot.  It generates the
following stack trace:

Debugger entered--Lisp error: (unbound-slot eglot-lsp-server "#<eglot-lsp-s=
erver eglot-lsp-server-156c8b8af842>" -events-buffer oref)
  signal(unbound-slot (eglot-lsp-server "#<eglot-lsp-server eglot-lsp-serve=
r-156c8b8af842>" -events-buffer oref))
... ; Removing extremely long frames
  eieio-barf-if-slot-unbound(eieio--unbound #<eglot-lsp-server eglot-lsp-se=
rver-156c8b8af842> -events-buffer oref)
  slot-value(#<eglot-lsp-server eglot-lsp-server-156c8b8af842> -events-buff=
er)
  #f(compiled-function (this) "Retrieve the slot `-events-buffer' from an o=
bject of class\n`jsonrpc-connection'." #<bytecode -0x1b11cbbb3991ccc5>)(#<e=
glot-lsp-server eglot-lsp-server-156c8b8af842>)
  apply(#f(compiled-function (this) "Retrieve the slot `-events-buffer' fro=
m an object of class\n`jsonrpc-connection'." #<bytecode -0x1b11cbbb3991ccc5=
>) #<eglot-lsp-server eglot-lsp-server-156c8b8af842> nil)
  jsonrpc--events-buffer(#<eglot-lsp-server eglot-lsp-server-156c8b8af842>)
  jsonrpc-events-buffer(#<eglot-lsp-server eglot-lsp-server-156c8b8af842>)
  jsonrpc--log-event(#<eglot-lsp-server eglot-lsp-server-156c8b8af842> (:me=
ssage "Running language server: /usr/lib/llvm/17/bin/clangd"))
  jsonrpc--debug(#<eglot-lsp-server eglot-lsp-server-156c8b8af842> "Running=
 language server: %s" "/usr/lib/llvm/17/bin/clangd")
  eglot--connect((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) (transie=
nt . "/tmp/") eglot-lsp-server ("/usr/lib/llvm/17/bin/clangd") ("c" "c" "c+=
+" "c++" "objc"))
  eglot((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) (transient . "/tm=
p/") eglot-lsp-server ("/usr/lib/llvm/17/bin/clangd") ("c" "c" "c++" "c++" =
"objc") t)
  funcall-interactively(eglot (c-mode c-ts-mode c++-mode c++-ts-mode objc-m=
ode) (transient . "/tmp/") eglot-lsp-server ("/usr/lib/llvm/17/bin/clangd")=
 ("c" "c" "c++" "c++" "objc") t)
  command-execute(eglot record)
  execute-extended-command(nil "eglot" "eglot")
  funcall-interactively(execute-extended-command nil "eglot" "eglot")
  command-execute(execute-extended-command)

Reproduction steps:

=2D emacs -q
=2D C-x C-f foo.c RET
=2D M-x eglot RET

Apologies for my brevity and lack of analysis and/or a patch - it is
getting late.

Have a lovely night.

(note that the info below does not come from the emacs -q session I was
testing this in, but I can also reproduce this issue in this session)

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.18.0) of 2023-11-28 built on localhost
Repository revision: 7a5c91a2831602c3cd961158cf0b6a876852d7ac
Repository branch: master
System Description: Gentoo Linux

Configured using:
 'configure --prefix=3D/usr --build=3Dx86_64-pc-linux-gnu
 --host=3Dx86_64-pc-linux-gnu --mandir=3D/usr/share/man
 --infodir=3D/usr/share/info --datadir=3D/usr/share --sysconfdir=3D/etc
 --localstatedir=3D/var/lib --datarootdir=3D/usr/share
 --disable-silent-rules --docdir=3D/usr/share/doc/emacs-30.0.9999
 --htmldir=3D/usr/share/doc/emacs-30.0.9999/html --libdir=3D/usr/lib64
 --program-suffix=3D-emacs-30-vcs --includedir=3D/usr/include/emacs-30-vcs
 --infodir=3D/usr/share/info/emacs-30-vcs --localstatedir=3D/var
 --enable-locallisppath=3D/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=3Dinotify --with-pdumper --enable-acl
 --enable-xattr --with-dbus --with-modules --with-gameuser=3D:gamestat
 --with-libgmp --with-gpm --with-native-compilation=3Daot --with-json
 --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2
 --with-mailutils --without-selinux --without-small-ja-dic
 --with-sqlite3 --with-gnutls --with-libsystemd --with-threads
 --with-tree-sitter --without-wide-int --with-sound=3Dalsa --with-zlib
 --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars
 --without-gconf --without-gsettings --with-harfbuzz --with-libotf
 --with-m17n-flt --with-xwidgets --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --with-webp --without-imagemagick
 --with-dumping=3Dpdumper 'CFLAGS=3D-freport-bug -O3 -ggdb3 -pipe
 -fdiagnostics-color=3Dalways -march=3Dx86-64-v2 -flto' 'LDFLAGS=3D-Wl,-O1
 -Wl,--as-needed -O3 -Wl,-O3 -pipe -fdiagnostics-color=3Dalways
 -Wl,--defsym=3D__gentoo_check_ldflags__=3D0 -Wl,-z,pack-relative-relocs
 -Wl,--build-id -flto''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2
LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  TeX-PDF-mode: t
  diff-hl-flydiff-mode: t
  global-jinx-mode: t
  savehist-mode: t
  save-place-mode: t
  desktop-save-mode: t
  global-hl-line-mode: t
  mu4e-modeline-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  which-key-mode: t
  global-display-fill-column-indicator-mode: t
  display-fill-column-indicator-mode: t
  which-function-mode: t
  electric-pair-mode: t
  global-whitespace-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/cmake-mode hides /usr/share/emacs/site-lisp/cmak=
e/cmake-mode
/usr/share/emacs/site-lisp/desktop-entry-mode hides /usr/share/emacs/site-l=
isp/desktop-file-utils/desktop-entry-mode
/usr/share/emacs/site-lisp/ninja/ninja-mode hides /usr/share/emacs/site-lis=
p/ninja-kitware/ninja-mode
/usr/share/emacs/site-lisp/transient/transient hides /usr/share/emacs/30.0.=
50/lisp/transient

Features:
(shadow emacsbug view woman man org-clock dabbrev cape completion
image-file image-converter sort smiley gnus-cite mm-archive mail-extr qp
textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check magit-bookmark git-rebase magit-extras
magit-sparse-checkout magit-gitignore magit-ediff ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
magit-subtree magit-patch magit-submodule magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit package url-handlers magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode git-commit log-edit
magit-core magit-autorevert magit-margin magit-transient magit-process
with-editor comp comp-cstr server magit-mode transient magit-git
magit-base magit-section cursor-sensor face-remap shortdoc pulse
consult-xref disass misearch multi-isearch help-fns radix-tree cl-print
cus-start eglot external-completion jsonrpc xref ert debug backtrace
tramp-cache time-stamp consult pcmpl-unix em-unix em-term term ehelp
em-script em-prompt em-pred em-ls em-hist em-glob em-extpipe em-cmpl
em-dirs em-basic em-banner em-alias esh-mode esh-var eshell esh-cmd
esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
vertico-directory add-log tar-mode arc-mode archive-mode font-latex
preview latex latex-flymake tex-ispell tex-style tex-mode tex-info tex
crm texmathp texinfo texinfo-loaddefs typescript-mode mhtml-mode
css-mode js c-ts-common conf-mode flycheck-pkgcheck meson-mode tcl
ruby-mode cperl-mode rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
nxml-ns nxml-mode nxml-outln nxml-rap sgml-mode facemenu nxml-util
nxml-enc xmltok flymake-cc flymake compile warnings yaml-mode
autoconf-mode python project pcase dired-aux make-mode ld-script m4-mode
info cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs autorevert vc-git diff-hl-flydiff diff diff-hl
log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode jinx
ebuild-mode skeleton sh-script smie treesit executable
display-line-numbers oc-basic org-element org-persist org-id org-refile
avl-tree generator ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc
ol-info ol-gnus nnselect ol-docview doc-view filenotify jka-compr
image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi
savehist saveplace tramp-sh tramp trampver tramp-integration files-x
tramp-message tramp-compat xdg shell tramp-loaddefs desktop frameset
cus-load mu4e mu4e-org mu4e-notification notifications mu4e-main
mu4e-view thingatpt gnus-art mm-uu mml2015 mm-view mml-smime smime
gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus
comp-run comp-common gnus-cloud nnimap nnmail mail-source utf7 nnoo
parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus nnheader
range wid-edit mu4e-headers mu4e-compose mu4e-draft mu4e-actions
smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message
shr pixel-fill kinsoku url-file browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util flow-fill mule-util hl-line mu4e-contacts
mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server
mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window bookmark pp
ido message sendmail mailcap yank-media puny dired dired-loaddefs rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util
text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils
gmm-utils mailheader mu4e-obsolete auth-source-pass url-parse url-vars
auth-source eieio eieio-core password-cache modus-vivendi-tinted-theme
modus-themes kind-icon svg-lib color svg dom xml corfu-popupinfo corfu
orderless marginalia vertico-mouse vertico compat flycheck json map dash
org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src
ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color org-list
org-footnote org-faces org-entities time-date noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table ol rx org-fold
org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar
cal-loaddefs org-version org-compat org-macs format-spec which-key
ace-window subr-x avy ring edmacro kmacro byte-opt
display-fill-column-indicator disp-table which-func imenu elec-pair
icons whitespace cl-macs gv cl-extra help-mode cl-seq use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core cl-loaddefs
cl-lib bytecomp byte-compile site-gentoo preview-latex ess-autoloads
ess-generics tex-site rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/pgtk-win pgtk-win term/common-win pgtk-dnd touch-screen tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads xwidget-internal dbusbind
inotify dynamic-setting font-render-setting cairo gtk pgtk lcms2
multi-tty move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 1820713 3119067) (symbols 48 62485 159) (strings 32 319528 9305=
1)
 (string-bytes 1 11499903) (vectors 16 193722) (vector-slots 8 3684047 2741=
445)
 (floats 8 936 13963) (intervals 56 100361 18396) (buffers 992 330))
=2D-=20
Arsen Arsenovi=C4=87

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iOYEARYKAI4WIQT+4rPRE/wAoxYtYGFSwpQwHqLEkwUCZWacFV8UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0RkVF
MkIzRDExM0ZDMDBBMzE2MkQ2MDYxNTJDMjk0MzAxRUEyQzQ5MxAcYXJzZW5AYWFy
c2VuLm1lAAoJEFLClDAeosSTih4A/RdE8IJT5AtJR2fUyXmyRg7DGyDTf9gdhM+i
928CIuKdAP9gvmYsPhPjWDey0f+AJ1ui+DCAPtfEuHvLQ3Zdbj+CAw==
=EuV/
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938-done <at> debbugs.gnu.org:


Received: (at 66938-done) by debbugs.gnu.org; 29 Nov 2023 00:30:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 19:30:03 2023
Received: from localhost ([127.0.0.1]:48464 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r88So-0002qQ-GS
	for submit <at> debbugs.gnu.org; Tue, 28 Nov 2023 19:30:03 -0500
Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]:53260)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>)
 id 1r88Si-0002oj-8U; Tue, 28 Nov 2023 19:30:01 -0500
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5098e423ba2so8922363e87.2; 
 Tue, 28 Nov 2023 16:29:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701217783; x=1701822583; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=cXcgjP61+ReK3d1LpcVUaluNHf+szbrEsbwnyoneZRg=;
 b=RKt8rFNVTXOApGCVxT6V9HMkhShgelj64z4DMgyTyWXD6q+olBGGD9kwkS+wlr3vZl
 dpssB9UlLraP8XMjHRC7E6SSsdAI4HcZF029Wcc1HF+6tocJ1/1B0E20ifIvs/z16+CI
 y/T822wecpKD0nG7WZz6ZuxDR0j1+8RSmHjwxHXmK1k5mgcxyN2VH8niVByz9L/dyFh2
 F6p0xlIlVoQqU0PNe4mw7FggX50NIiDjCsluLWeZLLPacQGVJXki1HXMD8/7w+ljh7gQ
 NhJndsw1l15D6rD86YoDAuiYab07YpZ12uQdan8FGjT/1em0n3xpjV9DA5zzO+k3vpNg
 wYEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701217783; x=1701822583;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=cXcgjP61+ReK3d1LpcVUaluNHf+szbrEsbwnyoneZRg=;
 b=TrwlGHrye1IRC/V+CjFN/jxGndW4EORmhYxljZdEsavTUXymhz4JxpfRuiX02ykTmQ
 YB0Hhiqf93xbxIRnqudLOpfkJcxRAUkLdxS1TZUR9W4+VxJ/p1jgU9CGjiigtFiCqYyK
 wtC+wRGdV74OYxRvf4COeisyLExiCJZZlQI+whICgf3m0IHV9GGJfSax/+UPV0bG7yLG
 iDCujAHqgaAHBvlVbMRSusucBpOgJVx7OpP1FTr0iw6Dxi8AAIcOTIj36lLR1yY8pU7H
 zQHT3uK050By8nOyPlk/KpPmOSO6y+PDUU0sVJ3wvCLQiKTSdxctyr0JQE/F33J05mQR
 XFdg==
X-Gm-Message-State: AOJu0YwJ0dDcFnUOziA45fTUvNvVMwgfgqn2syBcXsEWlhqPel1CKum0
 grR/g+tbnL1/54P+v0EeI23bs2iuk6hWPUMc3kQ=
X-Google-Smtp-Source: AGHT+IHEbQ2Vq1fzRZ0Nxdu3HGkIMFzC8xGwWEzxRoQBAHgilQgybOEejSbZCGQ+uTMiD6BHml5WI/TTLJEFv53PLgQ=
X-Received: by 2002:ac2:43bc:0:b0:50a:aa7d:2c18 with SMTP id
 t28-20020ac243bc000000b0050aaa7d2c18mr9045696lfl.61.1701217782859; Tue, 28
 Nov 2023 16:29:42 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 29 Nov 2023 00:29:31 +0000
Message-ID: <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
To: Stefan Monnier <monnier@HIDDEN>, 66938 <at> debbugs.gnu.org, 
 brandon.irizarry@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938-done
Cc: 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Just wanted to say that while I think this is all very fine to
improve on EIEIO's inaccurate emulation of CLOS, this breaks
a lot of stuff, broke Eglot and Jsonrpc, immediately.

This is mainly because EIEIO users like me got sloppy with
their slot definitions and don't put explicit :initforms
in them, instead relying on this quirk.

Oh well, I'm fixing this now as part of bug#67480, but
we should definitely expect flak more or less proportional
to the use of EIEIO out there (and in here).

BTW another reason I get sloppy is that EIEIO doesn't allow
me to use a

(some-slot :initform (error "required!") ...)

like I do in CLOS.

The initform is meant to be evaluated during instantiation
(that's why it's a "form" ;-) )

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 29 Nov 2023 00:30:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 28 19:30:02 2023
Received: from localhost ([127.0.0.1]:48462 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r88Sn-0002qF-UZ
	for submit <at> debbugs.gnu.org; Tue, 28 Nov 2023 19:30:02 -0500
Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]:53260)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joaotavora@HIDDEN>)
 id 1r88Si-0002oj-8U; Tue, 28 Nov 2023 19:30:01 -0500
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5098e423ba2so8922363e87.2; 
 Tue, 28 Nov 2023 16:29:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1701217783; x=1701822583; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=cXcgjP61+ReK3d1LpcVUaluNHf+szbrEsbwnyoneZRg=;
 b=RKt8rFNVTXOApGCVxT6V9HMkhShgelj64z4DMgyTyWXD6q+olBGGD9kwkS+wlr3vZl
 dpssB9UlLraP8XMjHRC7E6SSsdAI4HcZF029Wcc1HF+6tocJ1/1B0E20ifIvs/z16+CI
 y/T822wecpKD0nG7WZz6ZuxDR0j1+8RSmHjwxHXmK1k5mgcxyN2VH8niVByz9L/dyFh2
 F6p0xlIlVoQqU0PNe4mw7FggX50NIiDjCsluLWeZLLPacQGVJXki1HXMD8/7w+ljh7gQ
 NhJndsw1l15D6rD86YoDAuiYab07YpZ12uQdan8FGjT/1em0n3xpjV9DA5zzO+k3vpNg
 wYEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1701217783; x=1701822583;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=cXcgjP61+ReK3d1LpcVUaluNHf+szbrEsbwnyoneZRg=;
 b=TrwlGHrye1IRC/V+CjFN/jxGndW4EORmhYxljZdEsavTUXymhz4JxpfRuiX02ykTmQ
 YB0Hhiqf93xbxIRnqudLOpfkJcxRAUkLdxS1TZUR9W4+VxJ/p1jgU9CGjiigtFiCqYyK
 wtC+wRGdV74OYxRvf4COeisyLExiCJZZlQI+whICgf3m0IHV9GGJfSax/+UPV0bG7yLG
 iDCujAHqgaAHBvlVbMRSusucBpOgJVx7OpP1FTr0iw6Dxi8AAIcOTIj36lLR1yY8pU7H
 zQHT3uK050By8nOyPlk/KpPmOSO6y+PDUU0sVJ3wvCLQiKTSdxctyr0JQE/F33J05mQR
 XFdg==
X-Gm-Message-State: AOJu0YwJ0dDcFnUOziA45fTUvNvVMwgfgqn2syBcXsEWlhqPel1CKum0
 grR/g+tbnL1/54P+v0EeI23bs2iuk6hWPUMc3kQ=
X-Google-Smtp-Source: AGHT+IHEbQ2Vq1fzRZ0Nxdu3HGkIMFzC8xGwWEzxRoQBAHgilQgybOEejSbZCGQ+uTMiD6BHml5WI/TTLJEFv53PLgQ=
X-Received: by 2002:ac2:43bc:0:b0:50a:aa7d:2c18 with SMTP id
 t28-20020ac243bc000000b0050aaa7d2c18mr9045696lfl.61.1701217782859; Tue, 28
 Nov 2023 16:29:42 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Wed, 29 Nov 2023 00:29:31 +0000
Message-ID: <CALDnm50LCvuyqLS+f3Y5Nr+EsoNBS7qgGH=RDJPgyospYe9jRQ@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
To: Stefan Monnier <monnier@HIDDEN>, 66938 <at> debbugs.gnu.org, 
 brandon.irizarry@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938
Cc: 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Just wanted to say that while I think this is all very fine to
improve on EIEIO's inaccurate emulation of CLOS, this breaks
a lot of stuff, broke Eglot and Jsonrpc, immediately.

This is mainly because EIEIO users like me got sloppy with
their slot definitions and don't put explicit :initforms
in them, instead relying on this quirk.

Oh well, I'm fixing this now as part of bug#67480, but
we should definitely expect flak more or less proportional
to the use of EIEIO out there (and in here).

BTW another reason I get sloppy is that EIEIO doesn't allow
me to use a

(some-slot :initform (error "required!") ...)

like I do in CLOS.

The initform is meant to be evaluated during instantiation
(that's why it's a "form" ;-) )

Jo=C3=A3o




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938-done <at> debbugs.gnu.org:


Received: (at 66938-done) by debbugs.gnu.org; 26 Nov 2023 13:52:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 26 08:52:44 2023
Received: from localhost ([127.0.0.1]:40934 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r7FYx-0007LS-RD
	for submit <at> debbugs.gnu.org; Sun, 26 Nov 2023 08:52:44 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:29856)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1r7FYt-0007LB-Kc
 for 66938-done <at> debbugs.gnu.org; Sun, 26 Nov 2023 08:52:42 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 250ED440C75;
 Sun, 26 Nov 2023 08:52:28 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1701006746;
 bh=UsIjHJyN9xtk91dE2pzEL/aXgglgBImZFYMEOYX/WWM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=SWYP+mKQx5C0dWYT8rOPaxLpGoPCD0NwA5iyFIMjFAJ1wuwOIQNR2ngDL3MDKiFWe
 xtx1gtxLHKbyeJudbrAF05WKg5LD50W+zliHcgVl6cI5vRl6Ol8ooHU/3NyZGWFSOC
 kt8LyP19OOIt7NXUv57t88DqX9VAnTiK5NSuZfNIqaDy9OtGqNO7tdkFqsj/s0cjM9
 b+oEuuIUY2hkVFPt3U+gnhuphbqvdltmGUMxHfZ8ATELibBbOmO53Uuw3ojY1pplXc
 KD6oUQkYhTQrRPjOILm+Tc65Zr6MH+aim+4SYUIcx62DcOqTW5EciHNn3AWaaHCwPw
 +QMb9yqk2bS5Q==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id A2C03440C48;
 Sun, 26 Nov 2023 08:52:26 -0500 (EST)
Received: from pastel (unknown [45.72.194.97])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 767AF120235;
 Sun, 26 Nov 2023 08:52:26 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Brandon Irizarry <brandon.irizarry@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
In-Reply-To: <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
 (Brandon Irizarry's message of "Sat, 25 Nov 2023 22:21:21 -0500")
Message-ID: <jwvo7fgy64j.fsf-monnier+emacs@HIDDEN>
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
 <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
Date: Sun, 26 Nov 2023 08:52:19 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.031 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938-done
Cc: 66938-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Done. The patch is included with this email.

Thanks, pushed to `master`.
Closing,


        Stefan





Notification sent to Brandon Irizarry <brandon.irizarry@HIDDEN>:
bug acknowledged by developer. Full text available.
Reply sent to Stefan Monnier <monnier@HIDDEN>:
You have taken responsibility. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 26 Nov 2023 03:21:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 25 22:21:24 2023
Received: from localhost ([127.0.0.1]:40560 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r75i0-0008Hw-0z
	for submit <at> debbugs.gnu.org; Sat, 25 Nov 2023 22:21:24 -0500
Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]:53266)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <brandon.irizarry@HIDDEN>) id 1r75hw-0008HZ-Ix
 for 66938 <at> debbugs.gnu.org; Sat, 25 Nov 2023 22:21:21 -0500
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5098e423ba2so4518271e87.2
 for <66938 <at> debbugs.gnu.org>; Sat, 25 Nov 2023 19:21:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700968868; x=1701573668; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=VR0vq6fAJhjccAKdxoS2y5sOzqmz/EpIaKgk8F1cmlY=;
 b=UKUm1lKraSLJynVYM9zMnHPwgnjso72aWj+8aEeUdbCVaTqGDqP2kWvtrdDrhOI4Js
 Jt1sXerMP4ixyTScuP/tF8292pRvNxDA57Iv8SZXXuT8dFbxPdZuwvdwtuGknDAqoPo2
 3c677hnqpGTT89Ex/6XUmWOX4qUE2sHharbmKdkE0yQMPuJsFd0Jo8IGSnUIYBvYrlVu
 dtP4xS4qdX93i4hJr8zJtKe8RCYqtHqGmFxe/sTopBQEngGkpRF2gzBA03eGQRbjuhLW
 b8oSxRaYC5PpSQuC2e4aEDZVk79DmfxYAsL7ZAJkZDV3oCTB/s1LzxEvjTD+IfRbLnKU
 gn/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700968868; x=1701573668;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=VR0vq6fAJhjccAKdxoS2y5sOzqmz/EpIaKgk8F1cmlY=;
 b=gXA+LF7BqoNRnr8ClaV7P0/8hJmrjPZ/Nrh6X5YDGIdOSk3Ky/5On9/iiGe4BFyWCQ
 ErCJHl8ZQO7LcM+eDCiNeg68/OXYShdvQgk8gaWT7IkvS9ACI7Oz50H1rruBSBXHWFrP
 Dgsv1OwDGC/qJ25KqemjJxPQcJ2g45tWKOVeRYL0H0HQbotSimKaPfDsPoij6LF8BE+i
 lDSY+55nYPk64S48YDLMP0ssD6fv8It9ib/uUyBppZ7F2a4x9Fdf6dmyil6+HgmS8yAX
 LPDOdBkB40DLNlvUOJ9qwCjXoPWbHgOhT732AzaOfiYaMRo0ycYZh2AVqZ9yUmkiDZEX
 vqXA==
X-Gm-Message-State: AOJu0Yx8B/u8deP9h0tYNQj4K97vLnGdoQ60FvMeYKlGMuAm7Sajtz9J
 jC3qoIJVS3/7tgxpR+fUF8VyP7PjmPrSX1ASiAEW4ch1
X-Google-Smtp-Source: AGHT+IF4XTUBsqcZGCNi+Kd4iTSiIiyVS+vB00pQTWK2PYU5IKReafZwu7eRwtqyWX04KByxCCMw0sEY+kh9haiiH5Q=
X-Received: by 2002:a05:6512:308b:b0:509:3258:687d with SMTP id
 z11-20020a056512308b00b005093258687dmr6870423lfd.2.1700968868310; Sat, 25 Nov
 2023 19:21:08 -0800 (PST)
MIME-Version: 1.0
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
From: Brandon Irizarry <brandon.irizarry@HIDDEN>
Date: Sat, 25 Nov 2023 22:21:21 -0500
Message-ID: <CAJm+nuEeZE+zW+nPZhNTCwitJHg_oSk9Xdi3Suk4O5a3SptkCg@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
To: Stefan Monnier <monnier@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000002b854e060b05adfe"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 66938
Cc: 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000002b854e060b05adfe
Content-Type: multipart/alternative; boundary="0000000000002b854e060b05adfc"

--0000000000002b854e060b05adfc
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Done. The patch is included with this email.

- Brandon

On Sat, Nov 25, 2023 at 9:57=E2=80=AFAM Stefan Monnier <monnier@HIDDEN=
al.ca>
wrote:

> [ Sorry for the delay, and thanks Eli for re-pinging me.  ]
>
> > I've included a suggested patch for 'eieio.el', which slightly
> > modifies the behavior of EIEIO's 'defclass'. When playing around with
> > 'eieio-instance-inheritor' as a base class, I noticed that calls to
> > the accessor (when used as a getter) weren't delegating to the parent
> > instance (as defined when calling 'clone'). That is, an object clone th=
at
> > doesn't set
> > its fields directly will report 'nil' when the accessor method is used
> as a
> > getter for some slot.
>
> The patch looks great and confirms my FIXME.
>
> Could you turn the example in the commit message into a test in
> test/lisp/emacs-lisp/eieio-tests/eieio-tests.el?
>
>
>         Stefan
>
>

--0000000000002b854e060b05adfc
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Done. The patch is included with this email.</div><di=
v><br></div><div>- Brandon<br></div></div><br><div class=3D"gmail_quote"><d=
iv dir=3D"ltr" class=3D"gmail_attr">On Sat, Nov 25, 2023 at 9:57=E2=80=AFAM=
 Stefan Monnier &lt;<a href=3D"mailto:monnier@HIDDEN">monnier@iro=
.umontreal.ca</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi=
ng-left:1ex">[ Sorry for the delay, and thanks Eli for re-pinging me.=C2=A0=
 ]<br>
<br>
&gt; I&#39;ve included a suggested patch for &#39;eieio.el&#39;, which slig=
htly<br>
&gt; modifies the behavior of EIEIO&#39;s &#39;defclass&#39;. When playing =
around with<br>
&gt; &#39;eieio-instance-inheritor&#39; as a base class, I noticed that cal=
ls to<br>
&gt; the accessor (when used as a getter) weren&#39;t delegating to the par=
ent<br>
&gt; instance (as defined when calling &#39;clone&#39;). That is, an object=
 clone that<br>
&gt; doesn&#39;t set<br>
&gt; its fields directly will report &#39;nil&#39; when the accessor method=
 is used as a<br>
&gt; getter for some slot.<br>
<br>
The patch looks great and confirms my FIXME.<br>
<br>
Could you turn the example in the commit message into a test in<br>
test/lisp/emacs-lisp/eieio-tests/eieio-tests.el?<br>
<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Stefan<br>
<br>
</blockquote></div>

--0000000000002b854e060b05adfc--

--0000000000002b854e060b05adfe
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-Bug-66938-add-example-used-in-patch-commit-message-t.patch"
Content-Disposition: attachment; 
	filename="0001-Bug-66938-add-example-used-in-patch-commit-message-t.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lpewxjgr0>
X-Attachment-Id: f_lpewxjgr0

RnJvbSAzNTNkY2IzMzMzMzAwYTZmODZmN2JmYTIxMGQ3MDQ4NzZlYzdiNzAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiQnJhbmRvbiBDLiBJcml6YXJyeSIgPGJyYW5kb24uaXJpemFy
cnlAZ21haWwuY29tPgpEYXRlOiBTYXQsIDI1IE5vdiAyMDIzIDIyOjA5OjAwIC0wNTAwClN1Ympl
Y3Q6IFtQQVRDSF0gQnVnIDY2OTM4OiBhZGQgZXhhbXBsZSB1c2VkIGluIHBhdGNoIGNvbW1pdCBt
ZXNzYWdlIHRvCiBlaWVpby10ZXN0cy5lbAoKVGhpcyBpcyBpbiByZXNwb25zZSB0byBhIHJlcXVl
c3QgbWFkZSBieSBTdGVmYW4gTW9ubmllciBvbgpidWctZ251LWVtYWNzLgotLS0KIC4uLi9lbWFj
cy1saXNwL2VpZWlvLXRlc3RzL2VpZWlvLXRlc3RzLmVsICAgICB8IDIxICsrKysrKysrKysrKysr
KysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdGVz
dC9saXNwL2VtYWNzLWxpc3AvZWllaW8tdGVzdHMvZWllaW8tdGVzdHMuZWwgYi90ZXN0L2xpc3Av
ZW1hY3MtbGlzcC9laWVpby10ZXN0cy9laWVpby10ZXN0cy5lbAppbmRleCBjOTk5MzM0MWY5OC4u
YTA1MDdhZmU4MzMgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VpZWlvLXRlc3Rz
L2VpZWlvLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2VpZWlvLXRlc3RzL2Vp
ZWlvLXRlc3RzLmVsCkBAIC0xMDQ2LDYgKzEwNDYsMjcgQEAgZWllaW8tdGVzdC1kZWZzdHJ1Y3Qt
c2xvdC12YWx1ZQogICAgIChzaG91bGQgKGVxIChlaWVpby10ZXN0LS1zdHJ1Y3QtYSB4KSAxKSkK
ICAgICAoc2hvdWxkLWVycm9yIChzZXRmIChzbG90LXZhbHVlIHggJ2MpIDMpIDp0eXBlICdlaWVp
by1yZWFkLW9ubHkpKSkKIAorKGRlZmNsYXNzIGZvby1idWctNjY5MzggKGVpZWlvLWluc3RhbmNl
LWluaGVyaXRvcikKKyAgKCh4IDppbml0YXJnIDp4CisgICAgICA6YWNjZXNzb3IgcmVmLXgKKyAg
ICAgIDpyZWFkZXIgZ2V0LXgpKQorICAiQSBjbGFzcyB0byB0ZXN0IHRoYXQgZGVsZWdhdGlvbiBv
Y2N1cnMgdW5kZXIgY2VydGFpbgorY2lyY3Vtc3RhbmNlcyB3aGVuIHVzaW5nIGFuIGFjY2Vzc29y
IGZ1bmN0aW9uLCBhcyBpdCB3b3VsZCB3aGVuCit1c2luZyB0aGUgcmVhZGVyIGZ1bmN0aW9uLiIp
CisKKyhlcnQtZGVmdGVzdCBlaWVpby10ZXN0LXVzZS1hY2Nlc3Nvci1mdW5jdGlvbi13aXRoLWNs
b25lZC1vYmplY3QgKCkKKyAgIlRoZSBjbGFzcyBGT08tQlVHLTY2OTM4IGlzIGEgc3ViY2xhc3Mg
b2YKK2BlaWVpby1pbnN0YW5jZS1pbmhlcml0b3InLiBUaGVyZWZvcmUsIGdpdmVuIGFuIGluc3Rh
bmNlIE9CSjEgb2YKK0ZPTy1CVUctNjY5MzgsIGFuZCBhIGNsb25lIChPQkoyKSwgT0JKMiBzaG91
bGQgZGVsZWdhdGUgdG8gT0JKMQord2hlbiBhY2Nlc3NpbmcgYW4gdW5ib3VuZCBzbG90LgorCitJ
biBwYXJ0aWN1bGFyLCBpdHMgYmVoYXZpb3Igc2hvdWxkIGJlIGlkZW50aWNhbCB0byB0aGF0IG9m
IHRoZQorcmVhZGVyIGZ1bmN0aW9uLCB3aGVuIHJlYWRpbmcgYSBzbG90LiIKKyAgKGxldCogKChv
YmoxIChmb28tYnVnLTY2OTM4IDp4IDQpKQorICAgICAgICAgKG9iajIgKGNsb25lIG9iajEpKSkK
KyAgICAoc2hvdWxkIChlcWwgKHJlZi14IG9iajIpIDQpKQorICAgIChzaG91bGQgKGVxbCAoZ2V0
LXggb2JqMikgKHJlZi14IG9iajIpKSkpKQorCiAocHJvdmlkZSAnZWllaW8tdGVzdHMpCiAKIDs7
OyBlaWVpby10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMzkuMgoK
--0000000000002b854e060b05adfe--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 25 Nov 2023 14:57:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 25 09:57:17 2023
Received: from localhost ([127.0.0.1]:39990 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6u5t-0002Ke-1M
	for submit <at> debbugs.gnu.org; Sat, 25 Nov 2023 09:57:17 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:43941)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1r6u5q-0002KY-OW
 for 66938 <at> debbugs.gnu.org; Sat, 25 Nov 2023 09:57:15 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id AD5EC805D6;
 Sat, 25 Nov 2023 09:57:03 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1700924218;
 bh=MFQ7ORhdV7CxwRVaZQeaJRAGmtvWBIz+goDHJ9CFtTk=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=lUMF3nJa2DVomnxxaN+Z33dKNu8rJ/E9LIBSlLuglVNRdvvMKzQuOqjjqJ5Pb9mOI
 WAEffa05zMBHmYA+ecyN5IJEoO6OLy0C9Dd6w3ZHH8PPawQy9ZpmJOwByK7pr7dQnZ
 TONK6UzVbSl7Uww97ZT2Kiomvwg4dz/sKwijOee0sBnDGK5wA/5hzUAafuXCrngPGv
 fMPODfbibtt64okPRh5ni04ikOrzLqdwB2DoPgxsU2o/TfcBHcVvDIE7eBPCPXqjMx
 RsZUA42sc1psLl5DajBnZZw7RFxRaaHTn8xaqzqB6RSEE6racYr2FdcKCghYJJRhmo
 DabOXuHE5Jf3A==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5FA3E8027C;
 Sat, 25 Nov 2023 09:56:58 -0500 (EST)
Received: from pastel (unknown [45.72.227.120])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 37C6D120324;
 Sat, 25 Nov 2023 09:56:58 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Brandon Irizarry <brandon.irizarry@HIDDEN>
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
In-Reply-To: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 (Brandon Irizarry's message of "Sat, 4 Nov 2023 18:03:06 -0400")
Message-ID: <jwvfs0t28ck.fsf-monnier+emacs@HIDDEN>
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
Date: Sat, 25 Nov 2023 09:56:57 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.027 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938
Cc: 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

[ Sorry for the delay, and thanks Eli for re-pinging me.  ]

> I've included a suggested patch for 'eieio.el', which slightly
> modifies the behavior of EIEIO's 'defclass'. When playing around with
> 'eieio-instance-inheritor' as a base class, I noticed that calls to
> the accessor (when used as a getter) weren't delegating to the parent
> instance (as defined when calling 'clone'). That is, an object clone that
> doesn't set
> its fields directly will report 'nil' when the accessor method is used as a
> getter for some slot.

The patch looks great and confirms my FIXME.

Could you turn the example in the commit message into a test in
test/lisp/emacs-lisp/eieio-tests/eieio-tests.el?


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 25 Nov 2023 09:28:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 25 04:28:32 2023
Received: from localhost ([127.0.0.1]:37814 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6oxk-00013d-2o
	for submit <at> debbugs.gnu.org; Sat, 25 Nov 2023 04:28:32 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:36922)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1r6oxi-00013Q-4H
 for 66938 <at> debbugs.gnu.org; Sat, 25 Nov 2023 04:28:30 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1r6oxX-0007ck-8G; Sat, 25 Nov 2023 04:28:19 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=WJFGE7ZHws0RDGUJ0AiBD7iixaZKA8xEVzrUMQ5AI18=; b=ZpS+YRbu+Dc2
 FIy2FaNxOf9JEodXbFeDf0Q2XujgeFAIt2cMhn1xpftlAr24OEb9gU2hBUx3gqVB9F66hR8CZtylz
 oiwIWIHxzrUV9Z6JyJd8ai34uz8A4FAjgub/c1BA963o0OP4ZD3dLyrYSGmmYaWP1lQ04GAAzW/Uu
 jwlNh5AkOpMa43hJTK1KojjdhnJIv29pbxlTdOmkhY6uaEhJ8g6c4xereNwyGnzk9h/KjkmIBcPtN
 vrIhdH6fEm4VevsvaqySPgbFkvrm81XoQB2qEyAblvq1lN4gfYFsbEYJUSoj+zAeKlZ/ZYxWOWpQG
 jUCvKtzZ8yW/3n0y6OHA4g==;
Date: Sat, 25 Nov 2023 11:28:17 +0200
Message-Id: <837cm6dvwu.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: monnier@HIDDEN
In-Reply-To: <83leb4wpy4.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 11
 Nov 2023 12:21:23 +0200)
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 <83leb4wpy4.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938
Cc: brandon.irizarry@HIDDEN, 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Ping!  Stefan, could you please look into this?

> Cc: 66938 <at> debbugs.gnu.org
> Date: Sat, 11 Nov 2023 12:21:23 +0200
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> Stefan, any comments?
> 
> > From: Brandon Irizarry <brandon.irizarry@HIDDEN>
> > Date: Sat, 4 Nov 2023 18:03:06 -0400
> > 
> > I've included a suggested patch for 'eieio.el', which slightly
> > modifies the behavior of EIEIO's 'defclass'. When playing around with
> > 'eieio-instance-inheritor' as a base class, I noticed that calls to
> > the accessor (when used as a getter) weren't delegating to the parent
> > instance (as defined when calling 'clone'). That is, an object clone that doesn't set
> > its fields directly will report 'nil' when the accessor method is used as a getter for some slot.
> > 
> > However, neither 'oref' nor ':reader' methods share this problem.
> > 
> > The included patch duplicates the code for the reader method defined for
> > the ':reader' case. In particular, it removes the 'slot-unboundp' check, which appeared 
> > to be the real culprit here. I've also deleted the FIXME comment which asked, "Why is this 
> > different from the :reader case?" since it no longer differs from it.
> > 
> > There is some more context provided (along with an example) in the
> > commit message included in the patch, in case it helps.
> > 
> > I know this isn't earth-shattering, but I couldn't help but notice the issue;
> > and, at least to me, it seemed like incorrect behavior. (Otherwise, in order to
> > obtain the delegation behavior for a given slot, I'd be forced to define
> >  ':reader' and ':writer' separately, which feels rather verbose, given we have ':accessor'
> > for this exact purpose.)
> > 
> > - Brandon
> > 
> > 
> > From 2d40d63d8738dc44b02ca61843fa61956958e84e Mon Sep 17 00:00:00 2001
> > From: Brandon <brandon.irizarry@HIDDEN>
> > Date: Sat, 4 Nov 2023 17:11:32 -0400
> > Subject: [PATCH] Make EIEIO ':accessor' behave like ':reader' when reading
> > 
> > * lisp/emacs-lisp/eieio.el (defclass): Remove 'slot-boundp' check for
> > :accessor's getter
> > 
> > Clones of instances of subclasses of 'eieio-instance-inheritor' don't
> > delegate to their ':parent-instance' field when reading object fields
> > using ':accessor'.
> > 
> > Say I have this code:
> > 
> > (defclass foo (eieio-instance-inheritor)
> >   ((x :initarg :x
> >       :accessor ref-x
> >       :reader get-x)))
> > 
> > (setq obj1 (foo :x 4))   ; #s(foo eieio--unbound 4)
> > (setq obj2 (clone obj1)) ; #s(foo #s(foo eieio--unbound 4) eieio--unbound)
> > 
> > (ref-x obj1) ; 4, which is correct.
> > (ref-x obj2) ; nil. This is what we want to fix.
> > (get-x obj2) ; Gives us 4: access via the reader performs delegation.
> > 
> > My impression is that ':accessor' should behave as if ':reader' and
> > ':writer' had been provided separately.
> > 
> > With this patch, '(ref-x obj2)' now uses the exact same method as
> > ':reader', and so would give us 4, as desired.
> > ---
> >  lisp/emacs-lisp/eieio.el | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
> > index 39a5fd5b19c..8224606ec57 100644
> > --- a/lisp/emacs-lisp/eieio.el
> > +++ b/lisp/emacs-lisp/eieio.el
> > @@ -213,9 +213,8 @@ defclass
> >                     ,(internal--format-docstring-line
> >                       "Retrieve the slot `%S' from an object of class `%S'."
> >                       sname name)
> > -                   ;; FIXME: Why is this different from the :reader case?
> > -                   (if (slot-boundp this ',sname) (eieio-oref this ',sname)))
> > -                accessors)
> > +                   (slot-value this ',sname))
> > +                  accessors)
> >            (when (and eieio-backward-compatibility (eq alloc :class))
> >              ;; FIXME: How could I declare this *method* as obsolete.
> >              (push `(cl-defmethod ,acces ((this (subclass ,name)))
> > -- 
> > 2.39.2
> > 
> 
> 
> 
> 




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at 66938 <at> debbugs.gnu.org:


Received: (at 66938) by debbugs.gnu.org; 11 Nov 2023 10:22:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 11 05:22:12 2023
Received: from localhost ([127.0.0.1]:52101 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r1l7z-0004Iw-Th
	for submit <at> debbugs.gnu.org; Sat, 11 Nov 2023 05:22:12 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:55790)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1r1l7y-0004Ih-M8
 for 66938 <at> debbugs.gnu.org; Sat, 11 Nov 2023 05:22:11 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1r1l7F-0003Pl-3s; Sat, 11 Nov 2023 05:21:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=rIJ4JjfedWqoCCGcHPzhg3KkaY5bVVBo4nbG85XOPtU=; b=gZKEMqjbE6HF
 oEF/sFf+KQV6roBiAclP5wgAr+1GDBqHVk8GQqn90cp5+kONN9eQf4koHt5Vxch66I9K5+Py5DdcP
 /gzL5gvcyEs9Uov5XOyxKQ4RLG4LzC0nQP7AS17dopbg0jyi5oktbQ4GbYCi4peHvBSknlpT2lpm2
 2lpNpGg+txeAjRfE+XBzMAHd4EpjeH4/9i3idrTcWnJhQDIi1j0o3JHAMNm+iTlEXIZ4gjsaDb4nw
 UcM+4o1QYGSCYzrv1tSuGb4Gzn9RdiQ9S4Ly0AeJw1fi+9wlyfTmLI+OdFc6A0GO+S8L7za5cGSFG
 Fn2t4KSmII9+Y6+ajFELTw==;
Date: Sat, 11 Nov 2023 12:21:23 +0200
Message-Id: <83leb4wpy4.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Brandon Irizarry <brandon.irizarry@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
 (message from Brandon Irizarry on Sat, 4 Nov 2023 18:03:06 -0400)
Subject: Re: bug#66938: 30.0.50 [PATCH]: Make EIEIO :accessor behave like
 :reader when reading a slot's value
References: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 66938
Cc: 66938 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Stefan, any comments?

> From: Brandon Irizarry <brandon.irizarry@HIDDEN>
> Date: Sat, 4 Nov 2023 18:03:06 -0400
> 
> I've included a suggested patch for 'eieio.el', which slightly
> modifies the behavior of EIEIO's 'defclass'. When playing around with
> 'eieio-instance-inheritor' as a base class, I noticed that calls to
> the accessor (when used as a getter) weren't delegating to the parent
> instance (as defined when calling 'clone'). That is, an object clone that doesn't set
> its fields directly will report 'nil' when the accessor method is used as a getter for some slot.
> 
> However, neither 'oref' nor ':reader' methods share this problem.
> 
> The included patch duplicates the code for the reader method defined for
> the ':reader' case. In particular, it removes the 'slot-unboundp' check, which appeared 
> to be the real culprit here. I've also deleted the FIXME comment which asked, "Why is this 
> different from the :reader case?" since it no longer differs from it.
> 
> There is some more context provided (along with an example) in the
> commit message included in the patch, in case it helps.
> 
> I know this isn't earth-shattering, but I couldn't help but notice the issue;
> and, at least to me, it seemed like incorrect behavior. (Otherwise, in order to
> obtain the delegation behavior for a given slot, I'd be forced to define
>  ':reader' and ':writer' separately, which feels rather verbose, given we have ':accessor'
> for this exact purpose.)
> 
> - Brandon
> 
> 
> From 2d40d63d8738dc44b02ca61843fa61956958e84e Mon Sep 17 00:00:00 2001
> From: Brandon <brandon.irizarry@HIDDEN>
> Date: Sat, 4 Nov 2023 17:11:32 -0400
> Subject: [PATCH] Make EIEIO ':accessor' behave like ':reader' when reading
> 
> * lisp/emacs-lisp/eieio.el (defclass): Remove 'slot-boundp' check for
> :accessor's getter
> 
> Clones of instances of subclasses of 'eieio-instance-inheritor' don't
> delegate to their ':parent-instance' field when reading object fields
> using ':accessor'.
> 
> Say I have this code:
> 
> (defclass foo (eieio-instance-inheritor)
>   ((x :initarg :x
>       :accessor ref-x
>       :reader get-x)))
> 
> (setq obj1 (foo :x 4))   ; #s(foo eieio--unbound 4)
> (setq obj2 (clone obj1)) ; #s(foo #s(foo eieio--unbound 4) eieio--unbound)
> 
> (ref-x obj1) ; 4, which is correct.
> (ref-x obj2) ; nil. This is what we want to fix.
> (get-x obj2) ; Gives us 4: access via the reader performs delegation.
> 
> My impression is that ':accessor' should behave as if ':reader' and
> ':writer' had been provided separately.
> 
> With this patch, '(ref-x obj2)' now uses the exact same method as
> ':reader', and so would give us 4, as desired.
> ---
>  lisp/emacs-lisp/eieio.el | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
> index 39a5fd5b19c..8224606ec57 100644
> --- a/lisp/emacs-lisp/eieio.el
> +++ b/lisp/emacs-lisp/eieio.el
> @@ -213,9 +213,8 @@ defclass
>                     ,(internal--format-docstring-line
>                       "Retrieve the slot `%S' from an object of class `%S'."
>                       sname name)
> -                   ;; FIXME: Why is this different from the :reader case?
> -                   (if (slot-boundp this ',sname) (eieio-oref this ',sname)))
> -                accessors)
> +                   (slot-value this ',sname))
> +                  accessors)
>            (when (and eieio-backward-compatibility (eq alloc :class))
>              ;; FIXME: How could I declare this *method* as obsolete.
>              (push `(cl-defmethod ,acces ((this (subclass ,name)))
> -- 
> 2.39.2
> 




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 4 Nov 2023 22:03:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 04 18:03:49 2023
Received: from localhost ([127.0.0.1]:35862 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qzOk9-0008OQ-8o
	for submit <at> debbugs.gnu.org; Sat, 04 Nov 2023 18:03:49 -0400
Received: from lists.gnu.org ([2001:470:142::17]:48300)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <brandon.irizarry@HIDDEN>) id 1qzOk6-0008OB-SF
 for submit <at> debbugs.gnu.org; Sat, 04 Nov 2023 18:03:47 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <brandon.irizarry@HIDDEN>)
 id 1qzOjQ-0007Ck-MB
 for bug-gnu-emacs@HIDDEN; Sat, 04 Nov 2023 18:03:04 -0400
Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <brandon.irizarry@HIDDEN>)
 id 1qzOjO-00022R-Jl
 for bug-gnu-emacs@HIDDEN; Sat, 04 Nov 2023 18:03:04 -0400
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-507a5f2193bso3503848e87.1
 for <bug-gnu-emacs@HIDDEN>; Sat, 04 Nov 2023 15:03:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1699135380; x=1699740180; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=oY4u1tt72EbLJZoClY5cQzSh+5Z1U8WLg/y6Z29Gxmk=;
 b=CepvbAfJwpOXlaHArvsqxiNrWuiQM0x77RszzyplxDHbCdNkT8nCK7Aoe1GJ790fgm
 ZsGdU8Rgrzl8h+qGv/PKHiTLTCKJkqMVg9UVegtPPklKxS4pCBANYW/NNcYb89CidUkA
 sVTcRWuLMh6V+t2cH+D7704VRDw+fCeoXCR4NTEpe/qJkxX8HKx+S4sEyaptCLa+lKQ/
 y/MO+NNmqlxJXb9hgblkNlhhQENgWXHi/ITHjbXqJ4qJvZxjC2hfIKdoQwpgOppIHt8+
 qisQZ9YrgAazuYU4UQce+jJYYwCPJ9FjYuLAUgR9BflloGm/kvo+tAyBI6jV4GHZGt1w
 DtOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1699135380; x=1699740180;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=oY4u1tt72EbLJZoClY5cQzSh+5Z1U8WLg/y6Z29Gxmk=;
 b=JL8QfNtxek0/OrBEEHTXMTmrUqKCp/Abf+F80M9siXd1hmcen7Y2u6RtrOfCjbTqiG
 WrNNToabqvuBTisPfKsYL+jC3V0FjTd+l8jnLiC2jYI1c7LwUtIuhHmTCRzYJZExHVae
 IBucsc8WKu8rcoiLDQD869YDJmi6eb5YWQXwpxZNDpK0yMk5CvU0LWlFVPDL03ltzKwZ
 HRX/bPcbRGVK7mV4CoJgXYl5o7PFSvuxpnGvf0washKnYNrG2H+poROtImqDLItSHqc9
 Lkn3jV02XwJwVquXTDEvLt00Xiw4t0Zr/unw7faMe8FFYb74OroTuX15y4FjIaJj7lZq
 U1mg==
X-Gm-Message-State: AOJu0Yxr1PmfoxBm3ORjEy1L9aYVQHYk2wcqG2dIcoQpTqZUhs1ORGNF
 z4iMyxlwQITvR4eM8mF3QMRL4lpLr83Tr/Q4NnSJ/zp8Ulo=
X-Google-Smtp-Source: AGHT+IENBCg73uerT6moyJOeX15pGmwn9g7vSocwCybU80JJDCr/HoQI4W5+jO7rSvSKDVmCFW3H3Isub9HiTRfK/a0=
X-Received: by 2002:a05:6512:6d6:b0:500:7aba:4d07 with SMTP id
 u22-20020a05651206d600b005007aba4d07mr2807557lff.22.1699135379735; Sat, 04
 Nov 2023 15:02:59 -0700 (PDT)
MIME-Version: 1.0
From: Brandon Irizarry <brandon.irizarry@HIDDEN>
Date: Sat, 4 Nov 2023 18:03:06 -0400
Message-ID: <CAJm+nuELwm8qs+EDCyC1bJp8UpujTRjEeHTHNwBuyj2t7JnmNQ@HIDDEN>
Subject: 30.0.50 [PATCH]: Make EIEIO :accessor behave like :reader when
 reading a slot's value
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="000000000000bc5f4206095ac813"
Received-SPF: pass client-ip=2a00:1450:4864:20::133;
 envelope-from=brandon.irizarry@HIDDEN; helo=mail-lf1-x133.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

--000000000000bc5f4206095ac813
Content-Type: multipart/alternative; boundary="000000000000bc5f4006095ac811"

--000000000000bc5f4006095ac811
Content-Type: text/plain; charset="UTF-8"

Hope everyone is well.

I've included a suggested patch for 'eieio.el', which slightly
modifies the behavior of EIEIO's 'defclass'. When playing around with
'eieio-instance-inheritor' as a base class, I noticed that calls to
the accessor (when used as a getter) weren't delegating to the parent
instance (as defined when calling 'clone'). That is, an object clone that
doesn't set
its fields directly will report 'nil' when the accessor method is used as a
getter for some slot.

However, neither 'oref' nor ':reader' methods share this problem.

The included patch duplicates the code for the reader method defined for
the ':reader' case. In particular, it removes the 'slot-unboundp' check,
which appeared
to be the real culprit here. I've also deleted the FIXME comment which
asked, "Why is this
different from the :reader case?" since it no longer differs from it.

There is some more context provided (along with an example) in the
commit message included in the patch, in case it helps.

I know this isn't earth-shattering, but I couldn't help but notice the
issue;
and, at least to me, it seemed like incorrect behavior. (Otherwise, in
order to
obtain the delegation behavior for a given slot, I'd be forced to define
 ':reader' and ':writer' separately, which feels rather verbose, given we
have ':accessor'
for this exact purpose.)

- Brandon

--000000000000bc5f4006095ac811
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hope everyone is well.<br><br>I&#39;ve included a suggeste=
d patch for &#39;eieio.el&#39;, which slightly<br>modifies the behavior of =
EIEIO&#39;s &#39;defclass&#39;. When playing around with<br>&#39;eieio-inst=
ance-inheritor&#39; as a base class, I noticed that calls to<br>the accesso=
r (when used as a getter) weren&#39;t delegating to the parent<br><div>inst=
ance (as defined when calling &#39;clone&#39;). That is, an object clone th=
at doesn&#39;t set</div><div>its fields directly will report &#39;nil&#39; =
when the accessor method is used as a getter for some slot.</div><div><br><=
/div><div>However, neither &#39;oref&#39; nor &#39;:reader&#39; methods sha=
re this problem.</div><br>The included patch duplicates the code for the re=
ader method defined for<br><div>the &#39;:reader&#39; case. In particular, =
it removes the &#39;slot-unboundp&#39; check, which appeared=C2=A0</div><di=
v>to be the real culprit here. I&#39;ve also deleted the FIXME comment whic=
h asked, &quot;Why is this=C2=A0</div><div>different from the :reader case?=
&quot; since it no longer differs from it.</div><br>There is some more cont=
ext provided (along with an example) in the<br>commit message included in t=
he patch, in case it helps.<br><br>I know this isn&#39;t earth-shattering, =
but I couldn&#39;t help but notice the issue;<br><div>and, at least to me, =
it seemed like incorrect behavior. (Otherwise, in order to</div><div>obtain=
 the delegation behavior for a given slot, I&#39;d be forced to define</div=
><div>=C2=A0&#39;:reader&#39; and &#39;:writer&#39; separately, which feels=
 rather verbose, given we have &#39;:accessor&#39;</div><div>for this exact=
 purpose.)</div><br>- Brandon<br><br><br><br><br><br></div>

--000000000000bc5f4006095ac811--

--000000000000bc5f4206095ac813
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-Make-EIEIO-accessor-behave-like-reader-when-reading.patch"
Content-Disposition: attachment; 
	filename="0001-Make-EIEIO-accessor-behave-like-reader-when-reading.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lokl8pp30>
X-Attachment-Id: f_lokl8pp30

RnJvbSAyZDQwZDYzZDg3MzhkYzQ0YjAyY2E2MTg0M2ZhNjE5NTY5NThlODRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCcmFuZG9uIDxicmFuZG9uLmlyaXphcnJ5QGdtYWlsLmNvbT4K
RGF0ZTogU2F0LCA0IE5vdiAyMDIzIDE3OjExOjMyIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gTWFr
ZSBFSUVJTyAnOmFjY2Vzc29yJyBiZWhhdmUgbGlrZSAnOnJlYWRlcicgd2hlbiByZWFkaW5nCgoq
IGxpc3AvZW1hY3MtbGlzcC9laWVpby5lbCAoZGVmY2xhc3MpOiBSZW1vdmUgJ3Nsb3QtYm91bmRw
JyBjaGVjayBmb3IKOmFjY2Vzc29yJ3MgZ2V0dGVyCgpDbG9uZXMgb2YgaW5zdGFuY2VzIG9mIHN1
YmNsYXNzZXMgb2YgJ2VpZWlvLWluc3RhbmNlLWluaGVyaXRvcicgZG9uJ3QKZGVsZWdhdGUgdG8g
dGhlaXIgJzpwYXJlbnQtaW5zdGFuY2UnIGZpZWxkIHdoZW4gcmVhZGluZyBvYmplY3QgZmllbGRz
CnVzaW5nICc6YWNjZXNzb3InLgoKU2F5IEkgaGF2ZSB0aGlzIGNvZGU6CgooZGVmY2xhc3MgZm9v
IChlaWVpby1pbnN0YW5jZS1pbmhlcml0b3IpCiAgKCh4IDppbml0YXJnIDp4CiAgICAgIDphY2Nl
c3NvciByZWYteAogICAgICA6cmVhZGVyIGdldC14KSkpCgooc2V0cSBvYmoxIChmb28gOnggNCkp
ICAgOyAjcyhmb28gZWllaW8tLXVuYm91bmQgNCkKKHNldHEgb2JqMiAoY2xvbmUgb2JqMSkpIDsg
I3MoZm9vICNzKGZvbyBlaWVpby0tdW5ib3VuZCA0KSBlaWVpby0tdW5ib3VuZCkKCihyZWYteCBv
YmoxKSA7IDQsIHdoaWNoIGlzIGNvcnJlY3QuCihyZWYteCBvYmoyKSA7IG5pbC4gVGhpcyBpcyB3
aGF0IHdlIHdhbnQgdG8gZml4LgooZ2V0LXggb2JqMikgOyBHaXZlcyB1cyA0OiBhY2Nlc3Mgdmlh
IHRoZSByZWFkZXIgcGVyZm9ybXMgZGVsZWdhdGlvbi4KCk15IGltcHJlc3Npb24gaXMgdGhhdCAn
OmFjY2Vzc29yJyBzaG91bGQgYmVoYXZlIGFzIGlmICc6cmVhZGVyJyBhbmQKJzp3cml0ZXInIGhh
ZCBiZWVuIHByb3ZpZGVkIHNlcGFyYXRlbHkuCgpXaXRoIHRoaXMgcGF0Y2gsICcocmVmLXggb2Jq
MiknIG5vdyB1c2VzIHRoZSBleGFjdCBzYW1lIG1ldGhvZCBhcwonOnJlYWRlcicsIGFuZCBzbyB3
b3VsZCBnaXZlIHVzIDQsIGFzIGRlc2lyZWQuCi0tLQogbGlzcC9lbWFjcy1saXNwL2VpZWlvLmVs
IHwgNSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvZWllaW8uZWwgYi9saXNwL2VtYWNzLWxp
c3AvZWllaW8uZWwKaW5kZXggMzlhNWZkNWIxOWMuLjgyMjQ2MDZlYzU3IDEwMDY0NAotLS0gYS9s
aXNwL2VtYWNzLWxpc3AvZWllaW8uZWwKKysrIGIvbGlzcC9lbWFjcy1saXNwL2VpZWlvLmVsCkBA
IC0yMTMsOSArMjEzLDggQEAgZGVmY2xhc3MKICAgICAgICAgICAgICAgICAgICAsKGludGVybmFs
LS1mb3JtYXQtZG9jc3RyaW5nLWxpbmUKICAgICAgICAgICAgICAgICAgICAgICJSZXRyaWV2ZSB0
aGUgc2xvdCBgJVMnIGZyb20gYW4gb2JqZWN0IG9mIGNsYXNzIGAlUycuIgogICAgICAgICAgICAg
ICAgICAgICAgc25hbWUgbmFtZSkKLSAgICAgICAgICAgICAgICAgICA7OyBGSVhNRTogV2h5IGlz
IHRoaXMgZGlmZmVyZW50IGZyb20gdGhlIDpyZWFkZXIgY2FzZT8KLSAgICAgICAgICAgICAgICAg
ICAoaWYgKHNsb3QtYm91bmRwIHRoaXMgJyxzbmFtZSkgKGVpZWlvLW9yZWYgdGhpcyAnLHNuYW1l
KSkpCi0gICAgICAgICAgICAgICAgYWNjZXNzb3JzKQorICAgICAgICAgICAgICAgICAgIChzbG90
LXZhbHVlIHRoaXMgJyxzbmFtZSkpCisgICAgICAgICAgICAgICAgICBhY2Nlc3NvcnMpCiAgICAg
ICAgICAgKHdoZW4gKGFuZCBlaWVpby1iYWNrd2FyZC1jb21wYXRpYmlsaXR5IChlcSBhbGxvYyA6
Y2xhc3MpKQogICAgICAgICAgICAgOzsgRklYTUU6IEhvdyBjb3VsZCBJIGRlY2xhcmUgdGhpcyAq
bWV0aG9kKiBhcyBvYnNvbGV0ZS4KICAgICAgICAgICAgIChwdXNoIGAoY2wtZGVmbWV0aG9kICxh
Y2NlcyAoKHRoaXMgKHN1YmNsYXNzICxuYW1lKSkpCi0tIAoyLjM5LjIKCg==
--000000000000bc5f4206095ac813--




Acknowledgement sent to Brandon Irizarry <brandon.irizarry@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#66938; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 29 Nov 2023 16:00:03 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.