Como usar o pacote de uso com pacotes internos?


9

Por uma questão de organização, eu gostaria de agrupar conjuntos (s) sob um único banner relacionado. Digamos que eu queira definir o valor de compilation-scroll-output na unidade "compilation" como esta:

(use-package compilation
  :init
  (progn
    (setq compilation-scroll-output t)))

Tudo o que recebo é:

Could not load compilation

Como é?


3
FWIW, use describe-variableou describe-functionpara descobrir em qual pacote uma var ou func está e, em seguida, consulte a providechamada para descobrir o nome do pacote.
Jordon Biondo

Seu código de conjunto compilation-scroll-outputé uma noop, deve ser(progn (setq compilation-scroll-output t))
npostavs

Obrigado npostavs. Por alguma razão desconhecida, eu estava tentando usar 'como um alias de setq.
Jacekmigacz 09/09

@npostavs Eu nem percebi isso .. também consertei isso na minha resposta.
Kaushal Modi

Respostas:


11

O nome do pacote é compile.

Abaixo deve funcionar.

(use-package compile
  :init
  (progn
    (setq compilation-scroll-output t)))

Vale a pena observar o comentário de @JordonBiondo sobre como descobrir o nome de um pacote.

Se você deseja saber a qual pacote uma variável pertence, faça C-h vou M-x describe-variablesiga o nome var (para um nome de função C-h fou M-x describe-function). Na janela * Help * que aparece, navegue até o .elarquivo do pacote e veja a (provide ..)chamada para descobrir o nome do pacote.


2
A sintaxe do use-package em torno das palavras-chave é um pouco incomum. Os formulários que seguem a maioria das palavras-chave são agrupados para essa palavra-chave para você. Portanto, o prognóstico raramente é necessário. (use-package compile :init (message "init for compile") (setq compilation-scroll-output t))
Ben Hyde

5
@BenHyde Isso está correto; prognnão é necessário, mas eu o uso por conveniência. Se eu tiver um monte de formulários embaixo :inite um monte de formulários embaixo :config, colocá-los em (progn ..)um envelope torna muito conveniente avaliar o conjunto :initou o :configuso C-x C-e.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.