Syntax-Highlight für Perl in Emacs ist fehlerhaft, gibt es eine Fehlerbehebung?

Ich bin ein Perl-Programmierer und ein neuer Emacs-Benutzer. Ich benutze unter Windows den cperl-Modus zum Bearbeiten von Perl. Emacs-Version ist 24.2.1. Hier ist ein Screenshot mit einem Beispielcode:

http://breqwas.net/dropbox/perlsyn_emacs.png

Offensichtlicher Fehler: Markiert Arrays, Hashes und nicht zitierte Literalwerte in (a => "b") -Stillisteninnerhalb von KommentarenEin weiterer Fehler: Es markiert das erste Wort in einem regulären Ausdruck als Array, da das Anführungszeichen nicht dem Standard entsprichtKein Fehler, sieht aber seltsam aus: Arrays und Hashes werden bei jeder Verwendung hervorgehoben (auch in Kommentaren), Skalare werden jedoch nur hervorgehoben, wenn sie deklariert sindKein Fehler, sieht aber seltsam aus: gleiche Geschichte mit Funktionen: hervorgehoben, wenn deklariert, nicht wenn aufgerufenKein Fehler, sieht aber seltsam aus: Warum haben "print", "say" und "system" unterschiedliche Farben?

Ich könnte weitermachen, aber ich hoffe, das erklärt das Wort "kaputt" ziemlich gut.

Dann lernte ich die magische Tastenkombination C-u C-x =, die unter anderem die Texteigenschaften für den Text unter dem Cursor anzeigt, in der Hoffnung, mein eigenes Farbschema zu verbessern. Zu diesem Zeitpunkt machte es noch weniger Sinn.

"print" hatcperl-nonoverridable-face. "sterben" hatfont-lock-keyword-face. In der Zwischenzeit sind beide Funktionen und können (und werden oft) außer Kraft gesetzt. "system" hatfont-lock-type-face. Warum? Funktionserklärungen habenFont-Lock-Funktion-Name-Gesicht - das ist in Ordnung, aber auch die Argumente von "use". Warum? Funktionsaufrufe und Skalare haben überhaupt keine Flächeneigenschaft und können nicht hervorgehoben werden. Warum? Usw. Wieder konnte ich weitermachen.

Gibt es eine Möglichkeit, das alles zu beheben? Gibt es eine Konfiguration, in der ich lexikalische Einheiten anderen Schriftarten zuordnen oder die Syntax weniger verrückt machen kann?

Hier ist ein Screenshot des Editors, aus dem ich migriere, mit demselben Code, um zu vermeiden, dass "Perl nicht zu vergleichen ist":http://breqwas.net/dropbox/perlsyn_pn.png. Sieht viel vernünftiger aus.

Update: Inzwischen (3 Wochen nachdem ich diese Frage hier gestellt habe) habe ich keine Heilung gefunden. Alle Perl-Programmierer, die Emacs verwenden, ignorieren diese Probleme einfach. Es scheint keine besseren Perl-Textmarker für Emacs zu geben. Das Lesen von Dokumenten im cperl-Modus bietet einige Erklärungen (die Auswahl von Gesichtern für verschiedene Elemente scheint jetzt weniger verrückt zu sein), liefert jedoch keine Antworten. Ich schrieb eine E-Mail an den cperl-mode-Betreuer mit diesen und weiteren Fragen, bekam aber keine Antwort.

Ja, das hast du richtig verstanden: Anscheinend konnte die Emacs-Community in 25 Jahren, in denen Perl auf dem Markt ist, keine gute Perl-Syntax erstellen. Das ist eine traurige Geschichte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage