Hi

In https://github.com/MathWorks/Emacs-MATLAB-Mode, we've deleted 
cedet-matlab.el because it no longer works and there's a better replacement - 
LSP, which I will try to get in place soon.

As for the autoload issue, I just made a new commit that fixes that.

I also just added make -f check-emacs-versions to validate we can build with 
27, 28, and 29. I validated these versions on Debian 12.

See 
https://github.com/mathworks/Emacs-MATLAB-Mode/commit/eea28ea540dbd3c9db0730e07482510d892094b6




________________________________
From: Uwe Brauer via Matlab-emacs-discuss 
<matlab-emacs-discuss@lists.sourceforge.net>
Sent: Wednesday, August 28, 2024 11:20 AM
To: Matlab-emacs-discuss <matlab-emacs-discuss@lists.sourceforge.net>
Subject: [Matlab-emacs-discuss] problems with the actual (and earlier 
Makefiles) for emacs 29.2



Hi

I am currently running Emacs 29.2 and I had problems with
commit a78b368387c8
because of
autoload-insert-section-header

More precisely
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "cedet-matlab.el:0:0: error: 
void-function: (autolo...")
  signal(error ("cedet-matlab.el:0:0: error: void-function: (autolo..."))
  error("%s:0:0: error: %s: %s" "cedet-matlab.el" void-function 
(autoload-insert-section-header))
  autoload-generate-file-autoloads("cedet-matlab.el" nil 
"/home/oub/ALLES/emacs/site-lisp/packages/src/Matla...")
  
make-directory-autoloads(("/home/oub/ALLES/emacs/site-lisp/packages/src/Matla...")
 "/home/oub/ALLES/emacs/site-lisp/packages/src/Matla...")
  batch-update-autoloads()
  command-line-1(("--eval" "(setq debug-on-error t)" "-L" "./" "--eval" "(setq 
generated-autoload-file \"/home/oub/ALLES/ema..." "-f" "batch-update-autoloads" 
"/home/oub/ALLES/emacs/site-lisp/packages/src/Matla..."))
  command-line()
  normal-top-level()

make: *** [Makefile:34: autoloads] Error 255
--8<---------------cut here---------------end--------------->8---


Another  problem was (void-function batch-update-autoloads) that
function is now obsolete, that problem needs to be addressed since we
want to cater for various Emacs version

So it was suggested to me by Arash Esbati
to have a look at the Auctex makefile, which looks like

AUTOLOAD=--eval '\
(let* ((autoload-file (expand-file-name "$@")) \
       (autoload-file-dir (file-name-directory autoload-file))) \
  (if (fboundp (quote loaddefs-generate)) \
      (loaddefs-generate autoload-file-dir autoload-file) \
    (setq generated-autoload-file autoload-file) \
    (update-directory-autoloads autoload-file-dir)) \
  (save-buffers-kill-emacs t)'

auctex-autoloads.el:
        $(EMACS) $(AUTOLOAD)


However, I realized that recently the Makefile was changed quite a bit
(and I don't hope this will cause problems with ELPA since now, it seems
that the makefile run tests with matlab itself, and it is not clear to
me what happens if matlab is not installed on a machine that just want
to generate a ELPA package)



So in the new Makefile the autoloads part is gone, but I am running into
a different sort of problem with 29.2
--8<---------------cut here---------------start------------->8---

Error: user-error ("MATLAB Shell took to long (20s) to produce a prompt.")
  mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode 
-0x57ca465ee517975>))
  debug-early-backtrace()
  debug-early(error (user-error "MATLAB Shell took to long (20s) to produce a 
prompt."))
  signal(user-error ("MATLAB Shell took to long (20s) to produce a prompt."))
  user-error("MATLAB Shell took to long (20s) to produce a prompt.")
  (progn (user-error "MATLAB Shell took to long (20s) to produce a prompt."))
  (if (> elapsed 20) (progn (user-error "MATLAB Shell took to long (20s) to 
produce a prompt.")))
  (while (not matlab-prompt-seen) (setq elapsed (float-time (time-subtract nil 
start))) (if (> elapsed 20) (progn (user-error "MATLAB Shell took to long (20s) 
to produce a prompt."))) (accept-process-output nil 1) (redisplay) (sit-for 1))
  (let* ((start (current-time)) (elapsed nil)) (while (not matlab-prompt-seen) 
(setq elapsed (float-time (time-subtract nil start))) (if (> elapsed 20) (progn 
(user-error "MATLAB Shell took to long (20s) to produce a prompt."))) 
(accept-process-output nil 1) (redisplay) (sit-for 1)))
--8<---------------cut here---------------end--------------->8---

In the first run but in the second run, after make clean, I obtain the
old:

--8<---------------cut here---------------start------------->8---

emacs -batch --no-site-file --eval "(setq debug-on-error t)" -L ./ \
            --eval '(setq generated-autoload-file 
"/home/oub/ALLES/emacs/site-lisp/packages/src/Matlab/Github/emacs-matlab-git/matlab-load.el")'
 \
            -f batch-update-autoloads 
/home/oub/ALLES/emacs/site-lisp/packages/src/Matlab/Github/emacs-matlab-git
  SCRAPE    ...
  SCRAPE   
/home/oub/ALLES/emacs/site-lisp/packages/src/Matlab/Github/emacs-matlab-git
  INFO     Scraping files for matlab-load.el...
Debugger entered--Lisp error: (error "company-matlab-shell.el:0:0: error: 
void-function:...")
  signal(error ("company-matlab-shell.el:0:0: error: void-function:..."))
  error("%s:0:0: error: %s: %s" "company-matlab-shell.el" void-function 
(autoload-insert-section-header))
  autoload-generate-file-autoloads("company-matlab-shell.el" nil 
"/home/oub/ALLES/emacs/site-lisp/packages/src/Matla...")
  
make-directory-autoloads(("/home/oub/ALLES/emacs/site-lisp/packages/src/Matla...")
 "/home/oub/ALLES/emacs/site-lisp/packages/src/Matla...")
  batch-update-autoloads()
  command-line-1(("--eval" "(setq debug-on-error t)" "-L" "./" "--eval" "(setq 
generated-autoload-file \"/home/oub/ALLES/ema..." "-f" "batch-update-autoloads" 
"/home/oub/ALLES/emacs/site-lisp/packages/src/Matla..."))
  command-line()
  normal-top-level()

make: *** [Makefile:48: matlab-load.el] Error 255
--8<---------------cut here---------------end--------------->8---

I compiled  28.2 and
receive
--8<---------------cut here---------------start------------->8---

mstest-savestate) (message "Expected: [%S]" exp) (message "Found: [%S]" txt) 
(user-error "'WHICH TEST: ls' failed")))))
  mstest-start()
  mstest-run-all-tests()
  command-line-1(("--eval" "(setq debug-on-error t)" "-l" "mstest.el" "-e" 
"mstest-run-all-tests"))
  command-line()
  normal-top-level()
MATLAB Shell took to long (20s) to produce a prompt.
make[1]: *** [Makefile:37: shelltests] Error 255
make[1]: Leaving directory 
'/home/oub/ALLES/emacs/site-lisp/packages/src/Matlab/Github/emacs-matlab-git/tests'
make: *** [Makefile:61: .tests.tstamp] Error 2
oub@Utnapischtim:~/ALLES/emacs/site-lisp/packages/src/Matlab/Github/emacs-matlab-git
--8<---------------cut here---------------end--------------->8---

But at least with 28.2 I  can compile commit
a78b368387c8!

So we here at least 2 problems that need to be addressed.

@John introduced these changes, what do you say?
I was trying to modify the Makefile in commit a78b368387c8
following Arash advice, till I realized, that this is not the last
commit! 😳.

The reason was, that  I was in my local repository that
corresponds to Sourceforge, till I realized that changes you made.

So I think we need to address the latest commit. John?

Regards

Uwe

--
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military.
I support the EU and NATO membership of Ukraine.

_______________________________________________
Matlab-emacs-discuss mailing list
Matlab-emacs-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matlab-emacs-discuss

Reply via email to