O modo de compilação do Emacs sempre usa o modo de linha visual

1

Estou tentando fazer com que o modo de compilação do emacs sempre use o modo de linha visual. O código que estou usando é:

(add-hook 'compilation-mode-hook (visual-line-mode))

Eu tentei várias outras permutações. Tal como a versão em:

Ou ativar globalmente o modo de linha visual

(setq-default global-visual-line-mode t) 

No entanto, o emacs insiste em linhas truncadas. Eu confirmei que o gancho está sendo executado. Existe uma resolução conhecida para isso?

Atualizar 0

O principal problema é um problema newbie Lisp: A função visual-line-mode não foi citada. Isso resulta em uma avaliação imediata e não na avaliação quando o gancho é acionado.

Isso não resolveu o problema: o modo de compilação ainda não quebra linhas. Confirmei que o gancho está sendo executado no tempo esperado, colocando um identificador indefinido em vez de t . O Emacs reclama, como esperado, do identificador indefinido quando o modo de compilação é inserido.

Existe uma maneira de rastrear a execução de compile ? Usando (trace-function 'compile) produz:

======================================================================
1 -> compile: command="make" comint=nil
1 <- compile: #<buffer *compilation*>

e nada mais.

Atualização 1

Resolvido!

Além da citação incorreta, o problema estava em outra parte da configuração do meu emacs:

(add-hook 'after-change-major-mode-hook
      (function
        (lambda ()
            (fci-mode)
            (turn-on-auto-fill)
        )
      )
)

que, efetivamente, desfez a configuração visual-line-mode !

    
por CoreyOConnor 04.06.2014 / 00:42

1 resposta

1

A resposta fornecida pela LawList é a correta, no entanto, há também um modo de compilação menor que é usado por alguns modos principais (o modo stacktrace do CIDER, por exemplo). Assim, tenho o seguinte:

(add-hook 'compilation-mode-hook
          (lambda () (visual-line-mode 1)))

(add-hook 'compilation-minor-mode-hook
          (lambda () (visual-line-mode 1)))

Eu mencionei isso porque o código secundário também se apresenta como "Compilação" na barra de status, e levei um tempo para descobrir que era o menor, e não o modo principal.

(Eu preferiria simplesmente comentar a resposta de Lawlist, mas atualmente não tenho representante suficiente para fazê-lo.)

    
por 04.06.2014 / 08:04

Tags