Por que o emacs não está em execução (set-face-attribute…) no init.el, mesmo que o resto do buffer seja executado?

3

Eu tenho (set-face-attribute 'default nil :height 100) no meu init.el porque acho o tamanho da fonte padrão um pouco grande demais. No entanto, ele não é executado quando o emacs é carregado.

Eu não tenho um arquivo init.elc que não é uma versão atualizada representativa do meu init.el e sei que o restante do meu init.el está sendo executado.

Não há outros (set-face-attribute ...) sexps após isso que possam estar sobrescrevendo-o.

Voltando ao meu init.el após carregar o emacs e executá-lo eu mesmo define a propriedade corretamente (ou seja, para todos os buffers (mas não novos quadros), persistentemente)

    
por Squidly 16.10.2013 / 11:58

2 respostas

3

Depois de cortar alguns bits do meu arquivo de configuração, descobri que era devido a (add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12")) .

O motivo pelo qual eu a reduzi antes era porque eu corria (set-face-attribute 'default nil :height 100) no final do meu arquivo init.

A solução é alterar o sexp que altera default-frame-alist para ser (add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12") '(height . 100)) e remover o que altera diretamente o atributo face

    
por 17.10.2013 / 15:51
0

Este é um thread antigo, mas eu tive o mesmo problema e consegui consertá-lo. Vejo que você também fez o mesmo, mas queria contribuir com minha solução, pois não a encontrei em nenhum outro lugar.

Acabei de adicionar a seguinte linha ao meu ~ / .emacs.d / init.el:

(add-hook 'find-file-hook (lambda () (set-face-attribute 'default nil :height 105)))

E funcionou. Adereços para alexis nos comentários sobre OP para a sugestão.

    
por 23.02.2017 / 04:40