Sorting auto-mode-alist gives bad result
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nXhtml |
New
|
Undecided
|
Unassigned |
Bug Description
Starting from emacs-Q-nxhtml, here's auto-mode-alist:
Value: (("\\.gpg\
("\\.dz\\'" nil jka-compr)
("\\.xz\
("\\.g?
("\\.bz2\
("\\.Z\
("\\.~
("\\.\
("\\.djhtml\\'" . django-
("\\.djhtml\\'" . django-
("\\.epl\\'" . embperl-
("\\.epl\\'" . embperl-
("\\.rhtml\\'" . eruby-nxhtml-
("\\.rhtml\\'" . eruby-html-
("\\.ghtml\\'" . genshi-
("\\.ghtml\\'" . genshi-
("\\.jsp\\'" . jsp-nxhtml-
("\\.jsp\\'" . jsp-html-
("\\.lzx\\'" . laszlo-
("\\.phps\\'" . smarty-
("\\.phps\\'" . smarty-
("\\.phtml\\'" . nxhtml-mumamo-mode)
("\\.php\\'" . nxhtml-mumamo-mode)
("\\.xhtmlf\\'" . nxhtml-mumamo-mode)
("\\.htmlf\\'" . nxhtml-mumamo-mode)
("\\.xhtml\\'" . nxhtml-mumamo-mode)
("\\.xhtm\\'" . nxhtml-mumamo-mode)
("\\.html\\'" . nxhtml-mumamo-mode)
("\\.htm\\'" . nxhtml-mumamo-mode)
("\\.s?
("\\.s?
("\\.htm\\'" . html-mumamo-mode)
("\\.html\\'" . html-mumamo-mode)
("\\.xhtm\\'" . html-mumamo-mode)
("\\.xhtml\\'" . html-mumamo-mode)
("\\.htmlf\\'" . html-mumamo-mode)
("\\.xhtmlf\\'" . html-mumamo-mode)
("\\.php\\'" . html-mumamo-mode)
("\\.phtml\\'" . html-mumamo-mode)
("\\.dbk\\'" . nxml-mode)
("\\.x[ms]l\\'" . nxml-mode)
("\\.svgz?\\'" . nxml-mode)
("\\.js\\'" . javascript-mode)
("\\.rnc\\'" . rnc-mode)
("\\.gsp\\'" . gsp-html-
("\\.asp\\'" . asp-html-
("\\.mhtml\\'" . mason-html-
("\\.mhtml\\'" . mason-nxhtml-
("\\.erb\\'" . eruby-javascrip
("\\.asp\\'" . asp-nxhtml-
("\\.gsp\\'" . gsp-nxhtml-
("\\.s?
("\\.cs$" . csharp-mode)
("\\.vr[hi]?\\'" . vera-mode)
("\\.rb\\'" . ruby-mode)
("\\.re?st\\'" . rst-mode)
("\\.py\\'" . python-mode)
("\\.mixal\\'" . mixal-mode)
("\\.x[
("ld\\.?script\\>" . ld-script-mode)
("\\.ld[si]?\\>" . ld-script-mode)
("\\.svgz?\\'" . image-mode)
("\\.svgz?\\'" . xml-mode)
("\\.x[bp]m\\'" . image-mode)
("\\.x[bp]m\\'" . c-mode)
("\\.p[bpgn]m\\'" . image-mode)
("\\.tiff?\\'" . image-mode)
("\\.gif\\'" . image-mode)
("\\.png\\'" . image-mode)
("\\.jpe?g\\'" . image-mode)
("/\\.
("\\.soa\\'" . dns-mode)
("\\.css\\'" . css-mode)
("\\.gcov\\'" . compilation-mode)
("\\.awk\\'" . awk-mode)
("\\.\
("\\.idl\\'" . idl-mode)
("\\.java\\'" . java-mode)
("\\.m\\'" . objc-mode)
("\\.ii\\'" . c++-mode)
("\\.i\\'" . c-mode)
("\\.lex\\'" . c-mode)
("\\.y\
("\\.[ch]\\'" . c-mode)
("\\.\
("\\.[
("\\.\
("\\.bst\\'" . bibtex-style-mode)
("\\.s?
("\\.te?xt\\'" . text-mode)
("\\.[tT]e[xX]\\'" . tex-mode)
("\\.ins\\'" . tex-mode)
("\\.ltx\\'" . latex-mode)
("\\.dtx\\'" . doctex-mode)
("\\.org\\'" . org-mode)
("\\.el\\'" . emacs-lisp-mode)
("Project\
("\\.\
("\\.l\\'" . lisp-mode)
("\\.li?sp\\'" . lisp-mode)
("\\.[fF]\\'" . fortran-mode)
("\\.for\\'" . fortran-mode)
("\\.p\\'" . pascal-mode)
("\\.pas\\'" . pascal-mode)
("\\.\
("\\.ad[abs]\\'" . ada-mode)
("\\.ad[bs].dg\\'" . ada-mode)
("\\.\
("Imakefile\\'" . makefile-
("Makeppfile\
("\\.makepp\\'" . makefile-
("\\.mk\\'" . makefile-
("[Mm]akefile\\'" . makefile-
("\\.am\\'" . makefile-
("\\.texinfo\\'" . texinfo-mode)
("\\.te?xi\\'" . texinfo-mode)
("\\.[sS]\\'" . asm-mode)
("\\.asm\\'" . asm-mode)
("[cC]
("[cC]
("\\$CHANGE_
("\\.scm\
("\\.[
("\\.bash\\'" . sh-mode)
("\\(/
("\\(/
("\\(/
("\\.m?spec\\'" . sh-mode)
("\\.m[mes]\\'" . nroff-mode)
("\\.man\\'" . nroff-mode)
("\\.sty\\'" . latex-mode)
("\\.cl[so]\\'" . latex-mode)
("\\.bbl\\'" . latex-mode)
("\\.bib\\'" . bibtex-mode)
("\\.sql\\'" . sql-mode)
("\\.m[4c]\\'" . m4-mode)
("\\.mf\\'" . metafont-mode)
("\\.mp\\'" . metapost-mode)
("\\.vhdl?\\'" . vhdl-mode)
("\\.article\\'" . text-mode)
("\\.letter\\'" . text-mode)
("\\.i?tcl\\'" . tcl-mode)
("\\.exp\\'" . tcl-mode)
("\\.itk\\'" . tcl-mode)
("\\.icn\\'" . icon-mode)
("\\.sim\\'" . simula-mode)
("\\.mss\\'" . scribe-mode)
("\\.f9[05]\\'" . f90-mode)
("\\.indent\
("\\.\
("\\.srt\\'" . srecode-
("\\.prolog\\'" . prolog-mode)
("\\.tar\\'" . tar-mode)
("\\.\
("\\.\
("\\.\
("\\`/tmp/Re" . text-mode)
("/Message[
("\\.zone\\'" . zone-mode)
("\\`/tmp/fol/" . text-mode)
("\\.oak\\'" . scheme-mode)
("\\.sgml?\\'" . sgml-mode)
("\\.x[ms]l\\'" . xml-mode)
("\\.dbk\\'" . xml-mode)
("\\.dtd\\'" . sgml-mode)
("\\.ds\
("\\.js\\'" . js-mode)
("\\.[ds]?vh?\\'" . verilog-mode)
("[]>:
("\\`\
("[:/]_emacs\\'" . emacs-lisp-mode)
("/crontab\
("\\.ml\\'" . lisp-mode)
("\\.asd\\'" . lisp-mode)
("\\.\
("\\.\
("\\.\
("\\.\
("\\.[
("\\.\
("configure\
("\\.s\
("BROWSE\\'" . ebrowse-tree-mode)
("\\.ebrowse\\'" . ebrowse-tree-mode)
("#\\*mail\\*" . mail-mode)
("\\.g\\'" . antlr-mode)
("\\.ses\\'" . ses-mode)
("\\.\
("\\.docbook\\'" . sgml-mode)
("\\.com\\'" . dcl-mode)
("/config\
("\\.\
("\\.\
("\\.ppd\\'" . conf-ppd-mode)
("java.
("\\.propertie
("[/.]
("\\`/
("\\`/
("[cC]
("/\\.
("/\\.
("/\\.
("/\\.
("/X11.
("/X11.
("/X11.
("\\.[1-9]\\'" . nroff-mode)
("\\.tgz\\'" . tar-mode)
("\\.tbz2?\\'" . tar-mode))
The problem here is that the line which strips ".in" (search for ":orig" to find it), which originates in Emacs's files.el, has been moved near the top. This overrides Emacs's default rule for configure.in to be opened in autoconf-mode.
I cannot easily understand the sorting code, sorry, but it seems that something has gone wrong here.
I have turned off sorting in majmodpri for now, but this is obviously not ideal!