emacs-slack
emacs-slack copied to clipboard
void-variable cl--nm
Describe the bug When I try to select a certain room, I immediately get an error about cl--nm being a void variable
To Reproduce I'm not sure how one would reproduce, since it's only on a certain room that I get it :-( But perhaps the backtrace can help.
Backtrace
Debugger entered--Lisp error: (void-variable cl--nm)
#f(compiled-function (&rest args) #<bytecode -0x155fd65d33546c36>)()
#f(compiled-function (cl--cnm m team) #<bytecode -0x84ae134e6eca8a9>)(#f(compiled-function (&rest args) #<bytecode -0x155fd65d33546c36>) #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
apply(#f(compiled-function (cl--cnm m team) #<bytecode -0x84ae134e6eca8a9>) #f(compiled-function (&rest args) #<bytecode -0x155fd65d33546c36>) (#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>))
#f(compiled-function (&rest cl--args) #<bytecode -0x3581f75d71b7455>)(#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
apply(#f(compiled-function (&rest cl--args) #<bytecode -0x3581f75d71b7455>) #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
slack-message-body(#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
#f(compiled-function (m team) #<bytecode 0x1aa7f2e6cf02a598>)(#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
apply(#f(compiled-function (m team) #<bytecode 0x1aa7f2e6cf02a598>) #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
slack-message-to-string(#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> #<slack-team slack-team-156525f886e4>)
#f(compiled-function (this message merge-message-p) #<bytecode -0x86434496d927b62>)(#<slack-message-buffer slack-message-buffer-15652555ca9e> #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> nil)
apply(#f(compiled-function (this message merge-message-p) #<bytecode -0x86434496d927b62>) #<slack-message-buffer slack-message-buffer-15652555ca9e> (#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> nil))
slack-buffer-message-text(#<slack-message-buffer slack-message-buffer-15652555ca9e> #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> nil)
#f(compiled-function (this message &optional not-tracked-p prev-message) #<bytecode -0x1c51a86a62455aec>)(#<slack-message-buffer slack-message-buffer-15652555ca9e> #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> t #<slack-user-message slack-user-message-15652394e8ca>)
apply(#f(compiled-function (this message &optional not-tracked-p prev-message) #<bytecode -0x1c51a86a62455aec>) #<slack-message-buffer slack-message-buffer-15652555ca9e> (#<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> t #<slack-user-message slack-user-message-15652394e8ca>))
slack-buffer-insert(#<slack-message-buffer slack-message-buffer-15652555ca9e> #<slack-reply-broadcast-message slack-reply-broadcast-message-15652636ec9e> t #<slack-user-message slack-user-message-15652394e8ca>)
#f(compiled-function (this messages &optional filter-by-oldest not-tracked-p) #<bytecode -0x1f4558a0edf16c8f>)(#<slack-message-buffer slack-message-buffer-15652555ca9e> (#<slack-user-message slack-user-message-156525fbae66> #<slack-user-message slack-user-message-156525fb9768> #<slack-user-message slack-user-message-156525fb94bc> #<slack-user-message slack-user-message-156525fb81dc> #<slack-user-message slack-user-message-1565237332f4> #<slack-user-message slack-user-message-156523731f8e> #<slack-user-message slack-user-message-1565237313ca> #<slack-user-message slack-user-message-15652373110c> #<slack-user-message slack-user-message-15652372fd52> #<slack-user-message slack-user-message-156525d9bc3c> #<slack-user-message slack-user-message-156525d98c38> #<slack-user-message slack-user-message-156524386d42> #<slack-user-message slack-user-message-156524386a82> #<slack-user-message slack-user-message-156524383740> #<slack-user-message slack-user-message-15652635fafe> #<slack-user-message slack-user-message-15652635e5b4> #<slack-user-message slack-user-message-15652635cea0> #<slack-user-message slack-user-message-15652635bbb6> #<slack-user-message slack-user-message-15652635b8f6> #<slack-user-message slack-user-message-1565262b66ee> #<slack-user-message slack-user-message-1565262b47fa> #<slack-user-message slack-user-message-1565262b340c> #<slack-user-message slack-user-message-1565262b315e> #<slack-user-message slack-user-message-156525f8c11c> #<slack-user-message slack-user-message-1565251cea62> #<slack-user-message slack-user-message-1565251ccb86> #<slack-user-message slack-user-message-1565251cc8ca> #<slack-user-message slack-user-message-156524f4d4e2> #<slack-user-message slack-user-message-156524f4c982> #<slack-user-message slack-user-message-156524f4c6d4> #<slack-user-message slack-user-message-156524f4b386> #<slack-user-message slack-user-message-156524f4a8ae> #<slack-user-message slack-user-message-1565254a2632> #<slack-user-message slack-user-message-1565254a124e> #<slack-user-message slack-user-message-156524ecfd2a> #<slack-user-message slack-user-message-156524ecfa14> #<slack-user-message slack-user-message-156524ecd2cc> #<slack-user-message slack-user-message-156524ed6f2a> #<slack-user-message slack-user-message-1565255a2174> #<slack-user-message slack-user-message-156524af7e54> #<slack-user-message slack-user-message-156524af7b8e> #<slack-user-message slack-user-message-156524a3b2a4> #<slack-user-message slack-user-message-156524a39e74> #<slack-user-message slack-user-message-156524a326d4> #<slack-user-message slack-user-message-156524e2ffb8> #<slack-user-message slack-user-message-156526592be2> #<slack-user-message slack-user-message-156526592936> #<slack-user-message slack-user-message-156526591638> #<slack-user-message slack-user-message-15652508bcf8> #<slack-user-message slack-user-message-15652508ba32> ...) nil t)
apply(#f(compiled-function (this messages &optional filter-by-oldest not-tracked-p) #<bytecode -0x1f4558a0edf16c8f>) #<slack-message-buffer slack-message-buffer-15652555ca9e> ((#<slack-user-message slack-user-message-156525fbae66> #<slack-user-message slack-user-message-156525fb9768> #<slack-user-message slack-user-message-156525fb94bc> #<slack-user-message slack-user-message-156525fb81dc> #<slack-user-message slack-user-message-1565237332f4> #<slack-user-message slack-user-message-156523731f8e> #<slack-user-message slack-user-message-1565237313ca> #<slack-user-message slack-user-message-15652373110c> #<slack-user-message slack-user-message-15652372fd52> #<slack-user-message slack-user-message-156525d9bc3c> #<slack-user-message slack-user-message-156525d98c38> #<slack-user-message slack-user-message-156524386d42> #<slack-user-message slack-user-message-156524386a82> #<slack-user-message slack-user-message-156524383740> #<slack-user-message slack-user-message-15652635fafe> #<slack-user-message slack-user-message-15652635e5b4> #<slack-user-message slack-user-message-15652635cea0> #<slack-user-message slack-user-message-15652635bbb6> #<slack-user-message slack-user-message-15652635b8f6> #<slack-user-message slack-user-message-1565262b66ee> #<slack-user-message slack-user-message-1565262b47fa> #<slack-user-message slack-user-message-1565262b340c> #<slack-user-message slack-user-message-1565262b315e> #<slack-user-message slack-user-message-156525f8c11c> #<slack-user-message slack-user-message-1565251cea62> #<slack-user-message slack-user-message-1565251ccb86> #<slack-user-message slack-user-message-1565251cc8ca> #<slack-user-message slack-user-message-156524f4d4e2> #<slack-user-message slack-user-message-156524f4c982> #<slack-user-message slack-user-message-156524f4c6d4> #<slack-user-message slack-user-message-156524f4b386> #<slack-user-message slack-user-message-156524f4a8ae> #<slack-user-message slack-user-message-1565254a2632> #<slack-user-message slack-user-message-1565254a124e> #<slack-user-message slack-user-message-156524ecfd2a> #<slack-user-message slack-user-message-156524ecfa14> #<slack-user-message slack-user-message-156524ecd2cc> #<slack-user-message slack-user-message-156524ed6f2a> #<slack-user-message slack-user-message-1565255a2174> #<slack-user-message slack-user-message-156524af7e54> #<slack-user-message slack-user-message-156524af7b8e> #<slack-user-message slack-user-message-156524a3b2a4> #<slack-user-message slack-user-message-156524a39e74> #<slack-user-message slack-user-message-156524a326d4> #<slack-user-message slack-user-message-156524e2ffb8> #<slack-user-message slack-user-message-156526592be2> #<slack-user-message slack-user-message-156526592936> #<slack-user-message slack-user-message-156526591638> #<slack-user-message slack-user-message-15652508bcf8> #<slack-user-message slack-user-message-15652508ba32> ...) nil t))
slack-buffer-insert-messages(#<slack-message-buffer slack-message-buffer-15652555ca9e> (#<slack-user-message slack-user-message-156525fbae66> #<slack-user-message slack-user-message-156525fb9768> #<slack-user-message slack-user-message-156525fb94bc> #<slack-user-message slack-user-message-156525fb81dc> #<slack-user-message slack-user-message-1565237332f4> #<slack-user-message slack-user-message-156523731f8e> #<slack-user-message slack-user-message-1565237313ca> #<slack-user-message slack-user-message-15652373110c> #<slack-user-message slack-user-message-15652372fd52> #<slack-user-message slack-user-message-156525d9bc3c> #<slack-user-message slack-user-message-156525d98c38> #<slack-user-message slack-user-message-156524386d42> #<slack-user-message slack-user-message-156524386a82> #<slack-user-message slack-user-message-156524383740> #<slack-user-message slack-user-message-15652635fafe> #<slack-user-message slack-user-message-15652635e5b4> #<slack-user-message slack-user-message-15652635cea0> #<slack-user-message slack-user-message-15652635bbb6> #<slack-user-message slack-user-message-15652635b8f6> #<slack-user-message slack-user-message-1565262b66ee> #<slack-user-message slack-user-message-1565262b47fa> #<slack-user-message slack-user-message-1565262b340c> #<slack-user-message slack-user-message-1565262b315e> #<slack-user-message slack-user-message-156525f8c11c> #<slack-user-message slack-user-message-1565251cea62> #<slack-user-message slack-user-message-1565251ccb86> #<slack-user-message slack-user-message-1565251cc8ca> #<slack-user-message slack-user-message-156524f4d4e2> #<slack-user-message slack-user-message-156524f4c982> #<slack-user-message slack-user-message-156524f4c6d4> #<slack-user-message slack-user-message-156524f4b386> #<slack-user-message slack-user-message-156524f4a8ae> #<slack-user-message slack-user-message-1565254a2632> #<slack-user-message slack-user-message-1565254a124e> #<slack-user-message slack-user-message-156524ecfd2a> #<slack-user-message slack-user-message-156524ecfa14> #<slack-user-message slack-user-message-156524ecd2cc> #<slack-user-message slack-user-message-156524ed6f2a> #<slack-user-message slack-user-message-1565255a2174> #<slack-user-message slack-user-message-156524af7e54> #<slack-user-message slack-user-message-156524af7b8e> #<slack-user-message slack-user-message-156524a3b2a4> #<slack-user-message slack-user-message-156524a39e74> #<slack-user-message slack-user-message-156524a326d4> #<slack-user-message slack-user-message-156524e2ffb8> #<slack-user-message slack-user-message-156526592be2> #<slack-user-message slack-user-message-156526592936> #<slack-user-message slack-user-message-156526591638> #<slack-user-message slack-user-message-15652508bcf8> #<slack-user-message slack-user-message-15652508ba32> ...) nil t)
#f(compiled-function (cl--cnm this) #<bytecode -0x2bd55a704b3905d>)(#f(compiled-function (&rest args) #<bytecode -0x7fc6c1da920c9e4>) #<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply(#f(compiled-function (cl--cnm this) #<bytecode -0x2bd55a704b3905d>) #f(compiled-function (&rest args) #<bytecode -0x7fc6c1da920c9e4>) #<slack-message-buffer slack-message-buffer-15652555ca9e>)
#f(compiled-function (this) #<bytecode -0x870cd75a3a25ca2>)(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply(#f(compiled-function (this) #<bytecode -0x870cd75a3a25ca2>) #<slack-message-buffer slack-message-buffer-15652555ca9e>)
#f(compiled-function (&rest args) #<bytecode 0x2df53a74770ae14>)(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply(#f(compiled-function (&rest args) #<bytecode 0x2df53a74770ae14>) #<slack-message-buffer slack-message-buffer-15652555ca9e> nil)
slack-buffer-init-buffer(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
(or (let ((buf (and (slot-boundp this 'buf) (eieio-oref this 'buf)))) (and (buffer-live-p buf) buf)) (slack-buffer-init-buffer this))
(progn (or (let ((buf (and (slot-boundp this 'buf) (eieio-oref this 'buf)))) (and (buffer-live-p buf) buf)) (slack-buffer-init-buffer this)))
(closure (t) (this) (progn (or (let ((buf (and ... ...))) (and (buffer-live-p buf) buf)) (slack-buffer-init-buffer this))))(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply((closure (t) (this) (progn (or (let ((buf (and ... ...))) (and (buffer-live-p buf) buf)) (slack-buffer-init-buffer this)))) #<slack-message-buffer slack-message-buffer-15652555ca9e>)
#f(compiled-function (&rest args) #<bytecode -0x7fc6c1da920c9e4>)()
#f(compiled-function (cl--cnm this) #<bytecode 0x9b497e9f2b66e07>)(#f(compiled-function (&rest args) #<bytecode -0x7fc6c1da920c9e4>) #<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply(#f(compiled-function (cl--cnm this) #<bytecode 0x9b497e9f2b66e07>) #f(compiled-function (&rest args) #<bytecode -0x7fc6c1da920c9e4>) #<slack-message-buffer slack-message-buffer-15652555ca9e>)
#f(compiled-function (this) #<bytecode 0x139e64c1303ff5ba>)(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply(#f(compiled-function (this) #<bytecode 0x139e64c1303ff5ba>) #<slack-message-buffer slack-message-buffer-15652555ca9e> nil)
slack-buffer-buffer(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
(funcall slack-buffer-function (slack-buffer-buffer this))
(if slack-debug (funcall slack-buffer-function (slack-buffer-buffer this)) (condition-case err (funcall slack-buffer-function (slack-buffer-buffer this)) (error (progn (let* ((buf (and t ...))) (if buf (kill-buffer buf))) (condition-case nil (progn (slack-log (format "Backtrace: %S" ...) (slack-buffer-team this) :level 'error)) (error nil)) (signal (car err) (cdr err))))))
(progn (if slack-debug (funcall slack-buffer-function (slack-buffer-buffer this)) (condition-case err (funcall slack-buffer-function (slack-buffer-buffer this)) (error (progn (let* ((buf ...)) (if buf (kill-buffer buf))) (condition-case nil (progn (slack-log ... ... :level ...)) (error nil)) (signal (car err) (cdr err)))))))
(closure (t) (this) (progn (if slack-debug (funcall slack-buffer-function (slack-buffer-buffer this)) (condition-case err (funcall slack-buffer-function (slack-buffer-buffer this)) (error (progn (let* ... ...) (condition-case nil ... ...) (signal ... ...)))))))(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
apply((closure (t) (this) (progn (if slack-debug (funcall slack-buffer-function (slack-buffer-buffer this)) (condition-case err (funcall slack-buffer-function (slack-buffer-buffer this)) (error (progn (let* ... ...) (condition-case nil ... ...) (signal ... ...))))))) #<slack-message-buffer slack-message-buffer-15652555ca9e> nil)
slack-buffer-display(#<slack-message-buffer slack-message-buffer-15652555ca9e>)
slack-room-display(#<slack-im slack-im-156526212d12> #<slack-team slack-team-156525f886e4>)
slack-select-rooms()
Expected behavior The chat buffer should open without errors :)
Environment:
- OS: Xubuntu 20.04.4 LTS
- Emacs Version: GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2022-08-16
- emacs-slack Version: melpa 20211129.310
I've been encountering this as well, possibly there were EIEIO changes in Emacs' trunk.
The specific issue seems to be that (cl-call-next-method) is called when there isn't a next method, ex. in slack-message-body.
I'm not sure what the right solution is, but I'll experiment; it may be that (cl-call-next-method) needs arguments supplied, or it may need a (cl-next-method-p) guard before it's called.
This is an Emacs bug. I'll see if I can get a minimal testcase and let them know.
This is the Emacs bug report: https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-07/msg01456.html