Closed jezcope closed 9 years ago
The commit 2186a5f breaks esup, resulting in the following error:
esup
Debugger entered--Lisp error: (invalid-slot-name "#<esup-result :file>" "/home/jez/.dotfiles/emacs.d/init.el") signal(invalid-slot-name ("#<esup-result :file>" "/home/jez/.dotfiles/emacs.d/init.el")) #[(object slot-name operation &optional new-value) "\302\303\304! D\"\207" [object slot-name signal invalid-slot-name eieio-object-name] 4 "Method invoked when an attempt to access a slot in OBJECT fails.\nSLOT-NAME is the name of the failed slot, OPERATION is the type of access\nthat was requested, and optional NEW-VALUE is the value that was desired\nto be set.\n\nThis method is called from `oref', `oset', and other functions which\ndirectly reference slots in EIEIO objects."]([object esup-result :file "" 0 0 "" 0 0 0 0 0] "/home/jez/.dotfiles/emacs.d/init.el" oset :expression-string) apply(#[(object slot-name operation &optional new-value) "\302\303\304! D\"\207" [object slot-name signal invalid-slot-name eieio-object-name] 4 "Method invoked when an attempt to access a slot in OBJECT fails.\nSLOT-NAME is the name of the failed slot, OPERATION is the type of access\nthat was requested, and optional NEW-VALUE is the value that was desired\nto be set.\n\nThis method is called from `oref', `oset', and other functions which\ndirectly reference slots in EIEIO objects."] ([object esup-result :file "" 0 0 "" 0 0 0 0 0] "/home/jez/.dotfiles/emacs.d/init.el" oset :expression-string)) slot-missing([object esup-result :file "" 0 0 "" 0 0 0 0 0] "/home/jez/.dotfiles/emacs.d/init.el" oset :expression-string) #[(obj slots) "\304\216\305H B\n\2057 \306\305H\n@\"\211\204% \307\n@\310\nA@$\210\202- \311\nA@#\210)\nAA\211\204\f \312)\207" [obj eieio--scoped-class-stack slots rn ((byte-code "\210A\301\207" [eieio--scoped-class-stack nil] 1)) 1 eieio-initarg-to-attribute slot-missing oset eieio-oset nil] 6 "Set slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from the constructor routine."]([object esup-result :file "" 0 0 "" 0 0 0 0 0] ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) apply(#[(obj slots) "\304\216\305H B\n\2057 \306\305H\n@\"\211\204% \307\n@\310\nA@$\210\202- \311\nA@#\210)\nAA\211\204\f \312)\207" [obj eieio--scoped-class-stack slots rn ((byte-code "\210A\301\207" [eieio--scoped-class-stack nil] 1)) 1 eieio-initarg-to-attribute slot-missing oset eieio-oset nil] 6 "Set slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from the constructor routine."] ([object esup-result :file "" 0 0 "" 0 0 0 0 0] ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0))) shared-initialize([object esup-result :file "" 0 0 "" 0 0 0 0 0] ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) #[(this &optional slots) "\306H\307N\211\310H \311H\n\203/ \312@!\211@=\204% \313\n@\f#\210)\nAA\202 +\314 \"\207" [this this-class slot defaults dflt slots 1 eieio-class-definition 5 6 eieio-default-eval-maybe eieio-oset shared-initialize] 5 "Construct the new object THIS based on SLOTS.\nSLOTS is a tagged list where odd numbered elements are tags, and\neven numbered elements are the values to store in the tagged slot.\nIf you overload the `initialize-instance', there you will need to\ncall `shared-initialize' yourself, or you can call `call-next-method'\nto have this constructor called automatically. If these steps are\nnot taken, then new objects of your class will not have their values\ndynamically set from SLOTS."]([object esup-result :file "" 0 0 "" 0 0 0 0 0] ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) apply(#[(this &optional slots) "\306H\307N\211\310H \311H\n\203/ \312@!\211@=\204% \313\n@\f#\210)\nAA\202 +\314 \"\207" [this this-class slot defaults dflt slots 1 eieio-class-definition 5 6 eieio-default-eval-maybe eieio-oset shared-initialize] 5 "Construct the new object THIS based on SLOTS.\nSLOTS is a tagged list where odd numbered elements are tags, and\neven numbered elements are the values to store in the tagged slot.\nIf you overload the `initialize-instance', there you will need to\ncall `shared-initialize' yourself, or you can call `call-next-method'\nto have this constructor called automatically. If these steps are\nnot taken, then new objects of your class will not have their values\ndynamically set from SLOTS."] ([object esup-result :file "" 0 0 "" 0 0 0 0 0] ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0))) initialize-instance([object esup-result :file "" 0 0 "" 0 0 0 0 0] ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) eieio-default-superclass(esup-result :file "/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0) apply(eieio-default-superclass (esup-result :file "/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) eieio-generic-call(constructor (esup-result :file "/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) constructor(esup-result :file "/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0) apply(constructor esup-result :file ("/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0)) esup-result(:file "/home/jez/.dotfiles/emacs.d/init.el" :expression-string #("(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))" 0 80 (fontified nil)) :start-point 228 :end-point 308 :line-number 7 :exec-time 1.7223e-05 :gc-number 0 :gc-time 0.0) esup-child-profile-sexp(228 308 0) esup-child-profile-buffer(#<buffer init.el> 0) esup-child-profile-file("/home/jez/.emacs.d/init.el" 0) esup-child-run("/home/jez/.emacs.d/init.el" "57397") eval((esup-child-run "/home/jez/.emacs.d/init.el" "57397")) command-line-1(("-L" "/home/jez/.dotfiles/emacs.d/el-get/esup/" "-l" "esup-child" "--eval=(esup-child-run \"/home/jez/.emacs.d/init.el\" \"57397\")")) command-line() normal-top-level()
It seems the object-name argument for an EIEIO constructor is mandatory.
object-name
By the way, if I revert this commit, then the fix for #23 works perfectly — thanks :smile:
Yea, I saw the build break. Emacs 25 complains about the string and Emacs 24 breaks without it. I'll revert it
The commit 2186a5f breaks
esup
, resulting in the following error:It seems the
object-name
argument for an EIEIO constructor is mandatory.By the way, if I revert this commit, then the fix for #23 works perfectly — thanks :smile: