GNU bug report logs -
#22840
25.0.91; eieio clone creates objects with wrong name
Previous Next
Reported by: Vitalie Spinu <spinuvit <at> gmail.com>
Date: Sun, 28 Feb 2016 19:15:02 UTC
Severity: normal
Found in version 25.0.91
Fixed in version 26.2.50
Done: Vitalie Spinu <spinuvit <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 22840 in the body.
You can then email your comments to 22840 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22840
; Package
emacs
.
(Sun, 28 Feb 2016 19:15:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Vitalie Spinu <spinuvit <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 28 Feb 2016 19:15:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi,
With new "named" class I encounter the following problem:
(defclass AA (eieio-instance-inheritor eieio-named) ()
"Soeme class")
(setq aa (AA "namedA"))
(eieio-object-name aa)
;"#<AA namedA>"
(eieio-object-name (clone aa "namedB"))
;"#<AA namedA>"
(eieio-object-name (clone aa "namedC"))
;"#<AA namedB>"
In other words clone memorises a name from the previous clone and uses
that during the object creation.
Vitalie
In GNU Emacs 25.0.91.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.7)
of 2016-02-28 built on galago
Repository revision: 52f64cc2e74ab83752c8f2d37ef0fc6df5ef8b30
Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
System Description: Ubuntu 15.10
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#22840
; Package
emacs
.
(Sun, 28 Feb 2016 19:27:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 22840 <at> debbugs.gnu.org (full text, mbox):
The problem seems to be because of the typo in clone for named objects. It
should be setting name to "nobj" but instead it sets to the prototype "obj":
╭──────── #475 ─ /lisp/emacs-lisp/eieio-base.el ──
│
│ (cl-defmethod clone ((obj eieio-named) &rest params)
│ "Clone OBJ, initializing `:parent' to OBJ.
│ All slots are unbound, except those initialized with PARAMS."
│ (let* ((newname (and (stringp (car params)) (pop params)))
│ (nobj (apply #'cl-call-next-method obj params))
│ (nm (slot-value obj 'object-name)))
│ (eieio-oset obj 'object-name
│ (or newname
│ (save-match-data
│ (if (and nm (string-match "-\\([0-9]+\\)" nm))
│ (let ((num (1+ (string-to-number
│ (match-string 1 nm)))))
│ (concat (substring nm 0 (match-beginning 0))
│ "-" (int-to-string num)))
│ (concat nm "-1")))))
│ nobj))
╰──────── #491 ─
Vitalie
>> On Sun, Feb 28 2016 20:14, Vitalie Spinu wrote:
> Hi,
> With new "named" class I encounter the following problem:
> (defclass AA (eieio-instance-inheritor eieio-named) ()
> "Soeme class")
> (setq aa (AA "namedA"))
> (eieio-object-name aa)
> ;"#<AA namedA>"
> (eieio-object-name (clone aa "namedB"))
> ;"#<AA namedA>"
> (eieio-object-name (clone aa "namedC"))
> ;"#<AA namedB>"
> In other words clone memorises a name from the previous clone and uses
> that during the object creation.
> Vitalie
> In GNU Emacs 25.0.91.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.7)
> of 2016-02-28 built on galago
> Repository revision: 52f64cc2e74ab83752c8f2d37ef0fc6df5ef8b30
> Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
> System Description: Ubuntu 15.10
bug closed, send any further explanations to
22840 <at> debbugs.gnu.org and Vitalie Spinu <spinuvit <at> gmail.com>
Request was from
Vitalie Spinu <spinuvit <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Tue, 07 May 2019 14:44:03 GMT)
Full text and
rfc822 format available.
bug Marked as fixed in versions 26.2.50.
Request was from
Vitalie Spinu <spinuvit <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Tue, 07 May 2019 14:44:03 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 05 Jun 2019 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 14 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.