GNU bug report logs - #35614
AUCTeX stopped working after upgrade: TeX-shdex-eval: Invalid dialect expression : :classopt.

Previous Next

Package: auctex;

Reported by: Jakub Narębski <jnareb <at> gmail.com>

Date: Tue, 7 May 2019 02:28:01 UTC

Severity: normal

Tags: moreinfo

Done: Arash Esbati <arash <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 35614 in the body.
You can then email your comments to 35614 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Tue, 07 May 2019 02:28:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jakub Narębski <jnareb <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-auctex <at> gnu.org. (Tue, 07 May 2019 02:28:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jakub Narębski <jnareb <at> gmail.com>
To: bug-auctex <at> gnu.org
Subject: AUCTeX stopped working after upgrade: TeX-shdex-eval: Invalid dialect
 expression : :classopt.
Date: Tue, 7 May 2019 03:03:46 +0200
Hello,

After upgrading AUCTeX using ELPA to version 12.1.2 it stopped working
with the following error (after trying to turn on the latex-mode):

  TeX-shdex-eval: Invalid dialect expression : :classopt.

I am using GNU Emacs 25.2.1 (x86_64-w64-mingw32) of 2017-04-24

-- 
Jakub Narebski




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Thu, 09 May 2019 09:07:02 GMT) Full text and rfc822 format available.

Message #8 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Jakub Narębski <jnareb <at> gmail.com>
Cc: 35614 <at> debbugs.gnu.org
Subject: Re: bug#35614: AUCTeX stopped working after upgrade: TeX-shdex-eval:
 Invalid dialect expression : :classopt.
Date: Thu, 09 May 2019 18:06:05 +0900
Hi Jakub,

>>>>> Jakub Narębski <jnareb <at> gmail.com> writes:
> After upgrading AUCTeX using ELPA to version 12.1.2 it stopped working
> with the following error (after trying to turn on the latex-mode):

>   TeX-shdex-eval: Invalid dialect expression : :classopt.

It seems that you are using unupdated tex.el or tex.elc.  The
possibilities I can think of now are:
(1) Updating from ELPA is not complete for some reason, or
(2) In somewhere in the load-path of your emacs, stale version of
tex.el or tex.elc (or both) is left behind and used instead of the
updated one(s), or
(3) The elisp variable `TeX-style-hook-dialect-weight-alist' is
overwritten for some reason.

Can you first try updating from ELPA again?  If that doesn't resolve the
problem, please include the output of M-x TeX-submit-bug-report in your
reply.

Regards,
Ikumi Keita




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Fri, 10 May 2019 08:44:01 GMT) Full text and rfc822 format available.

Message #11 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Jakub Narębski <jnareb <at> gmail.com>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: 35614 <at> debbugs.gnu.org
Subject: Re: bug#35614: AUCTeX stopped working after upgrade: TeX-shdex-eval:
 Invalid dialect expression : :classopt.
Date: Fri, 10 May 2019 10:42:48 +0200
On Thu, 9 May 2019 at 11:06, Ikumi Keita <ikumi <at> ikumi.que.jp> wrote:
>
> Hi Jakub,
>
>>>>>> Jakub Narębski <jnareb <at> gmail.com> writes:
>> After upgrading AUCTeX using ELPA to version 12.1.2 it stopped working
>> with the following error (after trying to turn on the latex-mode):
>
>>   TeX-shdex-eval: Invalid dialect expression : :classopt.

Thankfully I use version of GNU Emacs with AUCTeX preinstalled,
so uninstalling ELPA version made AUCTeX work as workaround
(AUCTeX-date "2017-06-03", from
https://vigou3.github.io/emacs-modified-windows/)

> It seems that you are using unupdated tex.el or tex.elc.  The
> possibilities I can think of now are:
> (1) Updating from ELPA is not complete for some reason, or

Possible, as at the time of bug I have had both 12.1.2 and 12.1.1
marked as installed in the list of packages, the second one marked
as obsolete.

> (2) In somewhere in the load-path of your emacs, stale version of
> tex.el or tex.elc (or both) is left behind and used instead of the
> updated one(s), or
> (3) The elisp variable `TeX-style-hook-dialect-weight-alist' is
> overwritten for some reason.
>
> Can you first try updating from ELPA again?

It worked after installing package from ELPA (maybe).
Unfortunately the error persists (after restarting Emacs), this time as

  File mode specification error: (error Invalid dialect expression : :classopt.)
  File local-variables error: (error Invalid dialect expression : :classopt.)
.
when loading file, and

  TeX-shdex-eval: Invalid dialect expression : :classopt.

after `M-x LaTeX-mode`.

Font lock works, for some strange reason.

>                                                                         If that doesn't resolve the
> problem, please include the output of M-x TeX-submit-bug-report in your
> reply.

There was problem with that idea, as `M-x TeX-submit-bug-report` didn't
work either with the same problem (but in different command).  Now it works:

Emacs  : GNU Emacs 25.2.1 (x86_64-w64-mingw32)
 of 2017-04-24
Package: 2017-06-03

current state:
==============
(setq
 AUCTeX-date "2017-06-03"
 window-system 'w32
 LaTeX-version "2e"
 TeX-style-path '("c:/emacs-modified-windows/tmpdir/emacs/var/auctex"
  "c:/Program Files/GNU Emacs 25.2/share/emacs/site-lisp/auctex/style"
  "c:/Users/jnare/.emacs.d/auctex/auto" "c:/Users/jnare/.emacs.d/auctex/style"
  "auto" "style")
 TeX-auto-save nil
 TeX-parse-self nil
 TeX-master t
 TeX-command-list '(("TeX"
     "%(PDF)%(tex) %(file-line-error) %(extraopts) %`%S%(PDFout)%(mode)%' %t"
     TeX-run-TeX nil (plain-tex-mode ams-tex-mode texinfo-mode) :help
     "Run plain TeX")
    ("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil (latex-mode doctex-mode) :help
     "Run LaTeX")
    ("Makeinfo" "makeinfo %(extraopts) %t" TeX-run-compile nil (texinfo-mode)
     :help "Run Makeinfo with Info output")
    ("Makeinfo HTML" "makeinfo %(extraopts) --html %t" TeX-run-compile nil
     (texinfo-mode) :help "Run Makeinfo with HTML output")
    ("AmSTeX" "amstex %(PDFout) %(extraopts) %`%S%(mode)%' %t" TeX-run-TeX nil
     (ams-tex-mode) :help "Run AMSTeX")
    ("ConTeXt" "%(cntxcom) --once --texutil %(extraopts) %(execopts)%t"
     TeX-run-TeX nil (context-mode) :help "Run ConTeXt once")
    ("ConTeXt Full" "%(cntxcom) %(extraopts) %(execopts)%t" TeX-run-TeX nil
     (context-mode) :help "Run ConTeXt until completion")
    ("BibTeX" "bibtex %s" TeX-run-BibTeX nil t :help "Run BibTeX")
    ("Biber" "biber %s" TeX-run-Biber nil t :help "Run Biber")
    ("View" "%V" TeX-run-discard-or-function t t :help "Run Viewer")
    ("Print" "%p" TeX-run-command t t :help "Print the file")
    ("Queue" "%q" TeX-run-background nil t :help "View the printer queue"
     :visible TeX-queue-command)
    ("File" "%(o?)dvips %d -o %f " TeX-run-dvips t t :help
     "Generate PostScript file")
    ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil t :help
     "Convert DVI file to PostScript")
    ("Dvipdfmx" "dvipdfmx %d" TeX-run-dvipdfmx nil t :help
     "Convert DVI file to PDF with dvipdfmx")
    ("Ps2pdf" "ps2pdf %f" TeX-run-ps2pdf nil t :help
     "Convert PostScript file to PDF")
    ("Index" "makeindex %s" TeX-run-index nil t :help
     "Run makeindex to create index file")
    ("Xindy" "texindy %s" TeX-run-command nil t :help
     "Run xindy to create index file")
    ("Check" "lacheck %s" TeX-run-compile nil (latex-mode) :help
     "Check LaTeX file for correctness")
    ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil (latex-mode) :help
     "Check LaTeX file for common mistakes")
    ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help
     "Spell-check the document")
    ("Clean" "TeX-clean" TeX-run-function nil t :help
     "Delete generated intermediate files")
    ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help
     "Delete generated intermediate and output files")
    ("Other" "" TeX-run-command t t :help "Run an arbitrary command"))
 )

-- 
Jakub Narebski




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Sun, 12 May 2019 09:56:01 GMT) Full text and rfc822 format available.

Message #14 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Jakub Narębski <jnareb <at> gmail.com>
Cc: 35614 <at> debbugs.gnu.org
Subject: Re: bug#35614: AUCTeX stopped working after upgrade: TeX-shdex-eval:
 Invalid dialect expression : :classopt.
Date: Sun, 12 May 2019 18:55:30 +0900
Hi Jakub,

>>>>> Jakub Narębski <jnareb <at> gmail.com> writes:
> Thankfully I use version of GNU Emacs with AUCTeX preinstalled,
> so uninstalling ELPA version made AUCTeX work as workaround
> (AUCTeX-date "2017-06-03", from
> https://vigou3.github.io/emacs-modified-windows/)

Preinstalled version.  Well, that seems to be the reason of fail.
Having a look at the page linked from the page presented above, the
site-start.el file[1] contains lines
----------------------------------------------------------------------
(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)
----------------------------------------------------------------------
.  This indicates that the preinstalled AUCTeX was not installed from
ELPA, but by the traditional configure-make-make_install method.  Then,
installing from ELPA doubles the instance of AUCTeX and they conflict to
each other.

If you still want to use the updated version from ELPA, it is necessary
to do either of the following two options:
1. Uninstall the preinstalled version of AUCTeX before using ELPA
2. Perform the configure-make-make_install method for the development
   version of AUCTeX source taken from the git repository, after
   installing unix-like shell on your windows.

The option 1 consists of removing all the AUCTeX-related files and the
activation codes quoted above from your PC.

Regards,
Ikumi Keita

[1] https://gitlab.com/vigou3/emacs-modified-windows/blob/v26.2-modified-1/site-start.el




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Sun, 12 May 2019 17:52:02 GMT) Full text and rfc822 format available.

Message #17 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Jakub Narębski <jnareb <at> gmail.com>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: 35614 <at> debbugs.gnu.org
Subject: Re: bug#35614: AUCTeX stopped working after upgrade: TeX-shdex-eval:
 Invalid dialect expression : :classopt.
Date: Sun, 12 May 2019 19:50:48 +0200
Hello,

On Sun, 12 May 2019 at 11:55, Ikumi Keita <ikumi <at> ikumi.que.jp> wrote:
>
> Hi Jakub,
>
> >>>>> Jakub Narębski <jnareb <at> gmail.com> writes:
> > Thankfully I use version of GNU Emacs with AUCTeX preinstalled,
> > so uninstalling ELPA version made AUCTeX work as workaround
> > (AUCTeX-date "2017-06-03", from
> > https://vigou3.github.io/emacs-modified-windows/)
>
> Preinstalled version.  Well, that seems to be the reason of fail.

Unfortunately it turned out not to be the (easy solved) case.

> Having a look at the page linked from the page presented above, the
> site-start.el file[1] contains lines
> ----------------------------------------------------------------------
> (load "auctex.el" nil t t)
> (load "preview-latex.el" nil t t)
> ----------------------------------------------------------------------
> .  This indicates that the preinstalled AUCTeX was not installed from
> ELPA, but by the traditional configure-make-make_install method.  Then,
> installing from ELPA doubles the instance of AUCTeX and they conflict to
> each other.
>
> If you still want to use the updated version from ELPA, it is necessary
> to do either of the following two options:
> 1. Uninstall the preinstalled version of AUCTeX before using ELPA

I tried to use this solution, but it didn't work
(perhaps I did something wrong?).

> 2. Perform the configure-make-make_install method for the development
>    version of AUCTeX source taken from the git repository, after
>    installing unix-like shell on your windows.
>
> The option 1 consists of removing all the AUCTeX-related files and the
> activation codes quoted above from your PC.

Thus I have commented out the following lines in
c:/Program Files/GNU Emacs 25.2/share/emacs/site-list/site-start.el

  ; (load "auctex.el" nil t t)
  ; (load "preview-latex.el" nil t t)

I have also renamed site-list/auctex directory to site-list/auctex-old.
This I think should make Emacs use ELPA-provided AUCTeX, isn't it?

Unfortunately, it didn't work. Here is full backtrace
(from debug-on-error):

(error "Invalid dialect expression : :classopt.")
  signal(error ("Invalid dialect expression : :classopt."))
  error("Invalid dialect expression : %S." :classopt)
  TeX-shdex-eval(:classopt)
  TeX-add-style-hook("pdftex" TeX-PDF-mode-on :classopt)
  LaTeX-common-initialization()
  TeX-latex-mode()
  apply(TeX-latex-mode nil)
  LaTeX-mode()
  funcall-interactively(LaTeX-mode)
  call-interactively(LaTeX-mode record nil)
  command-execute(LaTeX-mode record)
  execute-extended-command(nil "LaTeX-mode" nil)
  funcall-interactively(execute-extended-command nil "LaTeX-mode" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

-- 
Jakub Narebski




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Mon, 13 May 2019 05:51:02 GMT) Full text and rfc822 format available.

Message #20 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
To: Jakub Narębski <jnareb <at> gmail.com>
Cc: 35614 <at> debbugs.gnu.org
Subject: Re: bug#35614: AUCTeX stopped working after upgrade: TeX-shdex-eval:
 Invalid dialect expression : :classopt.
Date: Mon, 13 May 2019 14:49:59 +0900
>>>>> Jakub Narębski <jnareb <at> gmail.com> writes:
>> The option 1 consists of removing all the AUCTeX-related files and the
>> activation codes quoted above from your PC.

> Thus I have commented out the following lines in
> c:/Program Files/GNU Emacs 25.2/share/emacs/site-list/site-start.el

>   ; (load "auctex.el" nil t t)
>   ; (load "preview-latex.el" nil t t)

OK.  (I think "site-list" is actually "site-lisp", but that doesn't
matter.)

> I have also renamed site-list/auctex directory to site-list/auctex-old.

OK.

> This I think should make Emacs use ELPA-provided AUCTeX, isn't it?

There still must be other files which are part of the preinstalled
AUCTeX, namely "tex-site.el" and "auctex.el", in
c:/Program Files/GNU Emacs 25.2/share/emacs/site-lisp/
.  So you should remove them as well.

> Unfortunately, it didn't work. Here is full backtrace
> (from debug-on-error):

It seems that the conflict between the two versions of AUCTeX still
remains.  It's rather strange.  Even if the above two files are left
behind, the old version of tex.el(c) should not be loaded since they are
evacuated into site-lisp/auctex-old, outside of the load-path...

Did you terminate and restart the emacs session after uninstalling the
preinstalled AUCTeX?  The state of confilict persists until the emacs is
terminated.

> (error "Invalid dialect expression : :classopt.")
>   signal(error ("Invalid dialect expression : :classopt."))
>   error("Invalid dialect expression : %S." :classopt)
>   TeX-shdex-eval(:classopt)
>   TeX-add-style-hook("pdftex" TeX-PDF-mode-on :classopt)
>   LaTeX-common-initialization()
>   TeX-latex-mode()
>   apply(TeX-latex-mode nil)
>   LaTeX-mode()
>   funcall-interactively(LaTeX-mode)
>   call-interactively(LaTeX-mode record nil)
>   command-execute(LaTeX-mode record)
>   execute-extended-command(nil "LaTeX-mode" nil)
>   funcall-interactively(execute-extended-command nil "LaTeX-mode" nil)
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)

This is not a major topic, but there are still other files which belong
to the preinstalled AUCTeX, I suppose.  They are info files auctex-info,
auctex-info-1, auctex-info-2 and preview-latex.info.  If they remain in
your PC, you might be presented with a bit old info file on some other
day, so I recommend to remove them, as well as to edit the "dir" file to
remove the entries of AUCTeX and preview-latex in it.  The "dir" is
located in, probably,
c:/Program Files/GNU Emacs 25.2/share/info/
.

Best,
Ikumi Keita




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Mon, 13 May 2019 06:36:02 GMT) Full text and rfc822 format available.

Message #23 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: 35614 <at> debbugs.gnu.org, Jakub Narębski <jnareb <at> gmail.com>
Subject: Re: bug#35614: AUCTeX stopped working after upgrade: TeX-shdex-eval:
 Invalid dialect expression : :classopt.
Date: Mon, 13 May 2019 15:35:18 +0900
>>>>> Ikumi Keita <ikumi <at> ikumi.que.jp> writes:
> It seems that the conflict between the two versions of AUCTeX still
> remains.  It's rather strange.  Even if the above two files are left
> behind, the old version of tex.el(c) should not be loaded since they are
> evacuated into site-lisp/auctex-old, outside of the load-path...

Ah, no, they ARE in the load-path, thanks to the subdirs.el.  Jakub,
please move the subdirectory "auctex-old" outside of the site-lisp.

Bye,
Ikumi Keita




Information forwarded to bug-auctex <at> gnu.org:
bug#35614; Package auctex. (Wed, 06 Mar 2024 11:45:02 GMT) Full text and rfc822 format available.

Message #26 received at 35614 <at> debbugs.gnu.org (full text, mbox):

From: Arash Esbati <arash <at> gnu.org>
To: Ikumi Keita <ikumi <at> ikumi.que.jp>
Cc: 35614 <at> debbugs.gnu.org, Jakub Narębski <jnareb <at> gmail.com>
Subject: Re: bug#35614: AUCTeX stopped working after upgrade:
 TeX-shdex-eval: Invalid dialect expression : :classopt.
Date: Wed, 06 Mar 2024 12:43:52 +0100
Ikumi Keita <ikumi <at> ikumi.que.jp> writes:

>>>>>> Ikumi Keita <ikumi <at> ikumi.que.jp> writes:
>> It seems that the conflict between the two versions of AUCTeX still
>> remains.  It's rather strange.  Even if the above two files are left
>> behind, the old version of tex.el(c) should not be loaded since they are
>> evacuated into site-lisp/auctex-old, outside of the load-path...
>
> Ah, no, they ARE in the load-path, thanks to the subdirs.el.  Jakub,
> please move the subdirectory "auctex-old" outside of the site-lisp.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

No further comments, therefore I'm closing this report.

Best, Arash




Added tag(s) moreinfo. Request was from Arash Esbati <arash <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 06 Mar 2024 11:45:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 35614 <at> debbugs.gnu.org and Jakub Narębski <jnareb <at> gmail.com> Request was from Arash Esbati <arash <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 06 Mar 2024 11:45:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 04 Apr 2024 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 19 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.