I see that I 'forgot' to copy-paste the first sentence of my original report, which was: I am trying examples from Paul Graham's book 'On lisp', but using EIEIO. On Thu, 7 Oct 2021 at 08:31, dalanicolai wrote: > I have encountered the following confusing behavior (and 'regression' > compared to Emacs 27). > > Starting from emacs -Q, in Emacs 27 when I try to evaluate the following > code: > > > (require 'eieio) > > (defclass rectangle () > (height width)) > > > different than in CLOS, Emacs errors with: > '(wrong-type-argument listp height)' > > When I evaluate the same code in Emacs 28 then Emacs does not return an > error. > > However, if I subsequently try to initialize the slots using: > > > (let ((r (make-instance rectangle))) > (setf (slot-value r 'height) 2 > (slot-value r 'width) 3)) > > > then Emacs 28 does return an error. If I replace the code to create the > class with (adding the parentheses around the slots): > > > (defclass rectangle () > ((height) (width))) > > > then the code above for initializing the slots works as expected (and > similar behavior when using oref). Which means that also in Emacs 28 the > parentheses are required. So Emacs 27 correctly errors when not using them, > but Emacs 28 suggests that things are alright when omitting the parentheses > which is incorrect and confusing. > > Then additionally, the requirement of the parentheses is, as far as I > could find, not explicitly mentioned as a 'difference from CLOS' in the > manual, which 'additionlly' is confusing. > > > > In GNU Emacs 28.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, > cairo version 1.17.4) > of 2021-09-06 built on daniel-fedora > Repository revision: c4724add006e62b81f847937db56335a81bdcc74 > Repository branch: master > Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 > System Description: Fedora 34 (Workstation Edition) > > Configured using: > 'configure --with-mailutils --with-cairo --with-modules --with-pgtk > --with-native-compilation' > > Configured features: > ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG > JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES > NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF > TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB > > Important settings: > value of $LANG: en_US.UTF-8 > value of $XMODIFIERS: @im=none > locale-coding-system: utf-8-unix > > Major mode: Lisp Interaction > > Minor modes in effect: > tooltip-mode: t > global-eldoc-mode: t > eldoc-mode: t > electric-indent-mode: t > mouse-wheel-mode: t > tool-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 > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > line-number-mode: t > indent-tabs-mode: t > transient-mark-mode: t > > Load-path shadows: > None found. > > Features: > (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs > rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail > rmail-loaddefs auth-source password-cache json map text-property-search > seq mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev > gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util > mail-prsvr mail-utils help-fns radix-tree cl-print debug backtrace > help-mode find-func cl-seq eieio byte-opt bytecomp byte-compile cconv > eieio-core cl-macs gv eieio-loaddefs time-date subr-x cl-loaddefs cl-lib > iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks > lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar > dnd fontset image regexp-opt fringe tabulated-list replace newcomment > text-mode elisp-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 cl-generic > 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 charscript charprop > case-table epa-hook jka-cmpr-hook help simple abbrev obarray > cl-preloaded nadvice button loaddefs faces cus-face macroexp files > window text-properties overlay sha1 md5 base64 format env code-pages > mule custom widget hashtable-print-readable backquote threads dbusbind > inotify lcms2 dynamic-setting system-font-setting font-render-setting > cairo move-toolbar gtk x-toolkit x multi-tty make-network-process > native-compile emacs) > > Memory information: > ((conses 16 74940 7555) > (symbols 48 7056 0) > (strings 32 21134 1155) > (string-bytes 1 724821) > (vectors 16 13991) > (vector-slots 8 277232 15363) > (floats 8 26 33) > (intervals 56 281 0) > (buffers 992 13)) > > >