From: Eric L. <eri...@gm...> - 2022-08-08 16:17:17
|
Hi Nicholas, Sorry I missed this when it first came in. First, if you aren't already, try using the version of matlab-mode from git in case you happen to have an older version. I happen to be on Emacs 27 which required some changes to mlint / linemark to work correctly with those versions of eieio (the clos library in Emacs.) I haven't tried it with E29. You stack trace is a bit hard to interpret when byte compiled. If you do this: M-x load-librry RET mlint.el RET it will load the src, not the byte compiled version, and you should get an easier to understand stack. Since the error is related to a cl-* variable within one of the clos macros, I wouldn't be surprised if more changes were needed to account for anything new in E29. In the E29 NEWS file in git, I see it says you may need to add '(require 'eieio-compat')' to some files written against older versions of eieio, so that is a possibility. Eric On 7/18/22 5:48 AM, Nicholas Harrison wrote: > Hi and thanks for the package! > > I'm trying to get linting to work, but nothing will show. I would love > help debugging. > My steps: > 1. Open .m file and turn on matlab-mode > 2. Turn on mlint-minor-mode > 3. Run mlint-buffer > > This is run from emacs -Q with packages loaded first and variables to > executables set. Apparently something right is happening since I see > some lines in the *M-Lint* buffer, but I get the following error and > stack trace: > > Debugger entered--Lisp error: (void-variable cl--nm) > #f(compiled-function (&rest args) #<bytecode -0x155fd570868d38f2>)() > #f(compiled-function (cl--cnm e active-p) #<bytecode > 0xbaea774c3e9d26b>)(#f(compiled-function (&rest args) #<bytecode > -0x155fd570868d38f2>) #<mlint-lm-entry > mlint-lm-entry-158f7c4907cc> nil) > apply(#f(compiled-function (cl--cnm e active-p) #<bytecode > 0xbaea774c3e9d26b>) #f(compiled-function (&rest args) #<bytecode > -0x155fd570868d38f2>) (#<mlint-lm-entry > mlint-lm-entry-158f7c4907cc> nil)) > #f(compiled-function (&rest cl--args) "Set object E to be > active.\nACTIVE-P if it should be made visible." #<bytecode > -0x1e9379681ed694e5>)(#<mlint-lm-entry > mlint-lm-entry-158f7c4907cc> nil) > apply(#f(compiled-function (&rest cl--args) "Set object E to be > active.\nACTIVE-P if it should be made visible." #<bytecode > -0x1e9379681ed694e5>) #<mlint-lm-entry > mlint-lm-entry-158f7c4907cc> nil) > linemark-display(#<mlint-lm-entry mlint-lm-entry-158f7c4907cc> nil) > #f(compiled-function (e) #<bytecode > 0x11b9e8c2c87755be>)(#<mlint-lm-entry mlint-lm-entry-158f7c4907cc>) > apply(#f(compiled-function (e) #<bytecode 0x11b9e8c2c87755be>) > #<mlint-lm-entry mlint-lm-entry-158f7c4907cc> nil) > linemark-delete(#<mlint-lm-entry mlint-lm-entry-158f7c4907cc>) > #<subr > F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_28>(#<mlint-lm-entry > mlint-lm-entry-158f7c4907cc>) > mapc(#<subr > F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_28> > (#<mlint-lm-entry mlint-lm-entry-158f7c4907cc>)) > mlint-clear-warnings() > mlint-buffer() > funcall(mlint-buffer) > (condition-case e (funcall hook) ((debug error) (signal > 'doom-hook-error (list hook e)))) > doom-run-hook(mlint-buffer) > run-hook-wrapped(doom-run-hook mlint-buffer) > (condition-case e (run-hook-wrapped hook #'doom-run-hook) > ((debug doom-hook-error) (if debug-on-error nil (lwarn hook :error > "Error running hook %S because: %s" (if (symbolp (car (cdr e))) > (symbol-name (car (cdr e))) (car (cdr e))) (car (cdr (cdr e))))) > (signal 'doom-hook-error (cons hook (cdr e))))) > (let ((hook (car --dolist-tail--))) (condition-case e > (run-hook-wrapped hook #'doom-run-hook) ((debug doom-hook-error) > (if debug-on-error nil (lwarn hook :error "Error running hook %S > because: %s" (if (symbolp (car ...)) (symbol-name (car ...)) (car > (cdr e))) (car (cdr (cdr e))))) (signal 'doom-hook-error (cons > hook (cdr e))))) (setq --dolist-tail-- (cdr --dolist-tail--))) > (while --dolist-tail-- (let ((hook (car --dolist-tail--))) > (condition-case e (run-hook-wrapped hook #'doom-run-hook) ((debug > doom-hook-error) (if debug-on-error nil (lwarn hook :error "Error > running hook %S because: %s" (if (symbolp ...) (symbol-name ...) > (car ...)) (car (cdr ...)))) (signal 'doom-hook-error (cons hook > (cdr e))))) (setq --dolist-tail-- (cdr --dolist-tail--)))) > (let ((--dolist-tail-- hooks)) (while --dolist-tail-- (let > ((hook (car --dolist-tail--))) (condition-case e (run-hook-wrapped > hook #'doom-run-hook) ((debug doom-hook-error) (if debug-on-error > nil (lwarn hook :error "Error running hook %S because: %s" (if ... > ... ...) (car ...))) (signal 'doom-hook-error (cons hook (cdr > e))))) (setq --dolist-tail-- (cdr --dolist-tail--))))) > doom-run-hooks(after-save-hook) > apply(doom-run-hooks after-save-hook) > run-hooks(after-save-hook) > basic-save-buffer(nil) > save-buffer() > mlint-buffer() > #<subr funcall-interactively>(mlint-buffer) > apply(#<subr funcall-interactively> mlint-buffer) > funcall-interactively(mlint-buffer) > #<subr call-interactively>(mlint-buffer nil nil) > apply(#<subr call-interactively> (mlint-buffer nil nil)) > explain-pause--wrap-call-interactively(#<subr > call-interactively> mlint-buffer nil nil) > apply(explain-pause--wrap-call-interactively #<subr > call-interactively> (mlint-buffer nil nil)) > call-interactively(mlint-buffer nil nil) > command-execute(mlint-buffer) > > > Any ideas? > > Emacs version: GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ > Version 3.24.20, cairo version 1.16.0) of 2022-06-14 > Matlab version: R2022a > OS: Linux Mint 20.3 Cinnamon > > Nick > > > _______________________________________________ > Matlab-emacs-discuss mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matlab-emacs-discuss |