Wie verwende ich das Use-Package mit eingebauten Paketen?

9

Aus Gründen der Ordnung möchte ich setq (s) unter einem einzigen verwandten Banner zusammenfassen. Angenommen, ich möchte den Wert der Kompilierungs-Bildlauf-Ausgabe in der Einheit "Kompilierung" wie folgt festlegen:

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

Alles was ich bekomme ist:

Could not load compilation

Wie ist das?

jacekmigacz
quelle
3
FWIW, verwenden Sie describe-variableoder describe-function, um herauszufinden, in welchem ​​Paket sich eine Variable oder Funktion befindet, und schauen Sie dann auf den provideAufruf, um den Paketnamen herauszufinden.
Jordon Biondo
Ihr Code zu setzen compilation-scroll-outputist ein Noop, es sollte sein(progn (setq compilation-scroll-output t))
npostavs
Danke npostavs. Aus irgendeinem unbekannten Grund habe ich versucht, 'als Alias ​​von setq zu verwenden.
Jacekmigacz
@npostavs Ich habe das nicht einmal bemerkt. Das habe ich auch in meiner Antwort behoben.
Kaushal Modi

Antworten:

11

Der Name des Pakets lautet compile.

Unten sollte funktionieren.

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

Es lohnt sich, den Kommentar von @JordonBiondo zur Ermittlung des Paketnamens zu beachten .

Wenn Sie wissen möchten, zu welchem ​​Paket eine Variable gehört, führen Sie den Variablennamen aus C-h voder M-x describe-variablefolgen Sie ihm (für einen Funktionsnamen C-h foder M-x describe-function). Navigieren Sie im daraufhin angezeigten Fenster * Hilfe * zur .elDatei des Pakets und sehen Sie sich den (provide ..)Aufruf an, um den Paketnamen zu ermitteln.

Kaushal Modi
quelle
2
Die Syntax des Use-Pakets um die Schlüsselwörter ist etwas ungewöhnlich. Die Formulare, die den meisten Schlüsselwörtern folgen, sind für dieses Schlüsselwort für Sie gebündelt. Die Prognose wird also selten benötigt. (use-package compile :init (message "init for compile") (setq compilation-scroll-output t))
Ben Hyde
5
@ BenHyde Das stimmt; prognist nicht erforderlich, aber ich benutze es der Einfachheit halber. Wenn ich eine Reihe von Formularen darunter :initund eine Reihe von Formularen darunter habe :config, (progn ..)ist es sehr praktisch, wenn ich sie eingewickelt habe , das Ganze zu bewerten :initoder zu :configverwenden C-x C-e.
Kaushal Modi