Re: Fedora Core 3: File mode specification error

David Kastrup <[email protected]>
Newsgroups gmane.emacs.auc-tex
Message-ID <[email protected]>
[email protected] writes:

> I just installed Fedora Core 3 (and ran "yum update") and the latest
> auctex rpm for fedora (auctex-emacs-11.54-2.fedora.noarch.rpm) from
> http://ftp.gnu.org/pub/gnu/auctex/.  It appears that the rpm puts a
> file (auctex-init.el) in /usr/share/emacs/site-lisp/site-start.d which
> is loaded by site-start.el and contains the requisite "(require
> 'tex-site)", but auctex is not working for me on what is practically a
> virgin FC3/emacs/auctex install with no .emacs file.
>
> When I try to load a (la)tex file (new or existing), I get the
> following error message:
>
> (New file)
> Loading tex...
> Loading advice...done
> Loading tex...done
> Loading latex...done
> Loading font-latex...done
> File mode specification error: (error "Variable binding depth exceeds max-specpdl-size")
>
> and the resulting buffer is in "Fundamental" mode rather than tex or
> latex.

[...]

> Backtrace:
>
> Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size")
>   regexp-opt-group(nil t t)
>   regexp-opt-group(nil t t)

[...]

>   regexp-opt-group(nil t t)
>   regexp-opt-group(nil nil)
>   regexp-opt(nil)
>   font-latex-set-syntactic-keywords()
>   font-latex-setup()
>   VirTeX-common-initialization()
>   LaTeX-common-initialization()
>   latex-mode()
> * call-interactively(latex-mode)
>   execute-extended-command(nil)
>   call-interactively(execute-extended-command)

Uh, what?  I am completely stumped.  At both my standard FC3 Emacs as
well as the development version of Emacs, (regexp-opt nil) returns ""
for me.  And that is because of the definition of regexp-opt-group:

(defun regexp-opt-group (strings &optional paren lax)
[...]
  (let* ((open-group (cond ((stringp paren) paren) (paren "\\(?:") (t "")))
	 (close-group (if paren "\\)" ""))
	 (open-charset (if lax "" open-group))
	 (close-charset (if lax "" close-group)))
    (cond
     ;;
     ;; If there are no strings, just return the empty string.
     ((= (length strings) 0)
      "")
     ;;
     ;; If there is only one string, just return it.
[...]

It complete escapes me how, with arguments nil nil, regexp-opt-group
should be tempted to recurse on itself.

Can you check your definition of regexp-opt-group?  And maybe do a
edebug-defun on its definition, and then see what happens when calling
(regexp-opt nil)
?


-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.