Skip to content

Emacs und der html-helper-mode

Ich habe jetzt gerade eine Weile mit dem CVS Emacs (22.0.50) herumgespielt und versucht, herauszufinden, warum sich der html-helper-mode nicht aktivieren lässt. Normalerweise sollte es reichen, in die .emacs einfach die Zeile (setq auto-mode-alist (cons ‘(“\\.html$” . html-helper-mode) auto-mode-alist)) einzufügen. Wenn ich jedoch eine bestehende HTML-Datei öffne, wird trotzdem der html-mode aktiviert und mir war eine ganze Zeit unklar warum. Die Tastenkombination C-h C-n und ein alter Thread in comp.emacs brachten schliesslich die Lösung:

Die neuen Versionen des Emacs sind intelligenter geworden. Es gibt eine Alistnamens magic-mode-alist, die sich den Anfang des Buffers anschaut und anhand des Bufferinhalts den jeweiligen Majormode bestimmt. Diese Alist zeigte nun aber per Standard auf den html-mode. Also schwupps die Zeile
(setq magic-mode-alist (cons ‘(“\\(?:<\\?xml\\s +[^>]*>\\)?\\s *<\\(?:!--\\(?:[^-]\\|-[^-]\\)*-->\\s *<\\)*\\(?:!DOCTYPE\\s \ +[^>]*>\\s *<\\s *\\(?:!--\\(?:[^-]\\|-[^-]\\)*-->\\s *<\\)*\\)?[Hh][Tt][Mm][Ll]” . html-helper-mode ) magic-mode-alist))
in die .emacs eingefügt und schon läuft alles wie gewünscht. Ich persönlich würde mir jedoch wünschen, wenn statt dem html-mode der html-helper-mode der Standard wäre.

tweetbackcheck