O destaque da sintaxe para perl no Emacs está quebrado, existe uma correção?

Eu sou um programador perl e um novo usuário do emacs. Estou sob o Windows, usando o modo cperl para editar o perl. A versão do Emacs é 24.2.1. Aqui está uma captura de tela com algum código de amostra:

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

Erro óbvio: ele destaca matrizes, hashes e valores literais não citados em listas de estilos (a => "b")dentro de comentáriosMais um bug: ele destaca a primeira palavra em uma expressão regular como uma matriz por causa do símbolo de cotação não padrãoNão é um bug, mas parece estranho: ele destaca matrizes e hashes a qualquer momento quando eles são usados ​​(mesmo em comentários, huh), mas os escalares são destacados apenas quando declarados.Não é um bug, mas parece estranho: mesma história com funções: destaque quando declarado, não quando chamadoNão é um bug, mas parece estranho: por que "print", "say" e "system" possuem cores diferentes?

Eu poderia continuar, mas espero que isso explique a palavra "quebrado" muito bem.

Então eu aprendi a mágica combinação de teclas C-u C-x =, que mostra, entre outras coisas, as propriedades do texto sob o cursor, na esperança de criar um esquema de coloração melhor. Neste ponto, começou a fazer ainda menos sentido.

"print" temrosto não-derretido. "morrer" temfont-lock-keyword-face. Enquanto isso, ambos são funções e podem ser (e freqüentemente são) anuladas. "sistema"font-lock-type-face. Por quê? Declarações de função têmfont-lock-function-name-face - tudo bem, mas os argumentos de "usar" também. Por quê? Chamadas de função e escalares não possuem nenhuma propriedade de face e não podem ser destacadas. Por quê? Etc, Etc. Mais uma vez, eu poderia continuar.

Existe uma maneira de consertar tudo isso? Existe alguma configuração onde eu possa remapear unidades lexicais para algumas outras fontes, ou alguma outra maneira de tornar a sintaxe menos realçada?

Para evitar a conversa "perl is unparsible", aqui está uma captura de tela do editor do qual estou migrando, com o mesmo código:http://breqwas.net/dropbox/perlsyn_pn.png. Parece muito mais razoável.

Upd: Até agora (3 semanas depois de fazer esta pergunta aqui) eu não encontrei uma cura. Todos os programadores perl que usam emacs que eu conheço simplesmente ignoram esses problemas. Não há melhores marcadores de perl para emacs parecem existir. A leitura de documentos em modo cperl fornece algumas explicações (a escolha de faces para vários elementos parece menos louca agora), mas não fornece nenhuma resposta. Eu escrevi um e-mail para o mantenedor do modo cperl com essas perguntas e mais algumas pesquisas que fiz, mas não obtive resposta.

Sim, você tem razão: parece que a comunidade do emacs não foi capaz de fazer uma boa sintaxe de perl em 25 anos que o perl está por perto. Essa é uma história triste.

questionAnswers(2)

yourAnswerToTheQuestion