emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: User-defined record types, v2


From: Lars Brinkhoff
Subject: Re: User-defined record types, v2
Date: Thu, 23 Mar 2017 08:02:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Lars Brinkhoff wrote:
>> Hmm... I can't reproduce this right now.  Have you fixed it in the
>> mean time?
>
> I'm rebuilding and checking again now.

Still same error.

This is exactly how I reproduce it:

git clean -xfd
./autogen.sh
make bootstrap
make check
# 2 files contained unexpected results:
#   lisp/emacs-lisp/eieio-tests/eieio-tests.log
#   lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.log
src/emacs -Q

Evaluate this in *scratch*

(progn
  (require 'eieio)
  (defclass foo ()
    ((x :initarg :emu
         :initform emu
         :allocation :class
         :accessor get-foo)))
  (get-foo (foo))
  (get-foo 'foo))

I get this backtrace:

Debugger entered--Lisp error: (error "eieio-oref called on a class: foo")
  signal(error ("eieio-oref called on a class: foo"))
  error("eieio-oref called on a class: %s" foo)
  eieio-oref(foo x)
  (if (slot-boundp this (quote x)) (eieio-oref this (quote x)))
  (progn (if (slot-boundp this (quote x)) (eieio-oref this (quote x))))
  (lambda (this) "Retrieve the slot `x' from an object of class `foo'."
  (progn (if (slot-boundp this (quote x)) (eieio-oref this (quote x)))))
  (foo)
  apply((lambda (this) "Retrieve the slot `x' from an object of class
  `foo'." (progn (if (slot-boundp this (quote x)) (eieio-oref this
  (quote x))))) foo nil)
  get-foo(foo)
  eval-region(146 305 t #[257 "\300\242b\210\301\207" [(305) (progn
  (require (quote eieio)) (progn (defalias (quote foo-p)
  (eieio-make-class-predicate (quote foo))) (defalias (quote
  foo--eieio-childp) (eieio-make-child-predicate (quote foo))) (defalias
  (quote foo-child-p) (quote foo--eieio-childp)) (make-obsolete (quote
  foo-child-p) "use (cl-typep ... 'foo) instead" "25.1") (put (quote
  foo) (quote cl-deftype-satisfies) (function foo--eieio-childp))
  (eieio-defclass-internal (quote foo) (quote nil) (quote (...)) (quote
  nil)) (progn nil nil (cl-generic-define-method (quote get-foo) (quote
  nil) (quote ...) nil (function ...))) (progn nil nil
  (cl-generic-define-method (quote get-foo) (quote nil) (quote ...) nil
  (function ...))) (progn nil nil (cl-generic-define-method (quote
  \(setf\ get-foo\)) (quote nil) (quote ...) nil (function ...))) (prog1
  (defalias (quote foo) (function ...)) (progn (quote foo--anon-cmacro)
  :autoload-end (quote foo--anon-cmacro)))) (get-foo (foo)) (get-foo
  (quote foo)))] 2 "\n\n(fn IGNORE)"])  ; Reading at buffer position 172
  elisp--eval-defun()
  eval-defun(nil)
  funcall-interactively(eval-defun nil)
  call-interactively(eval-defun nil nil)
  command-execute(eval-defun)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]