Ist es möglich, integrierte Emacs-Pakete wie "tetris" zu entfernen? Sie können nicht markiert werden, um in der Paketliste ab 24.1 gelöscht zu werden. Es wäre nett, eine minimale Installation von Emacs zu haben - wenn auch kaum nützlich - indem einige oder alle eingebauten Pakete gelöscht werden. Ist es irgendwie möglich, und wird diese Fähigkeit in Zukunft hinzugefügt?Integrierte Pakete in Emacs löschen
Antwort
Emacs sollte starten und benutzbar sein, auch wenn das ganze lisp
Verzeichnis leer ist (beachte, dass wir selten/nie testen, also kann ich nicht garantieren, dass es funktioniert, aber zumindest im Prinzip sollte es und wenn es sollte es nicht gemeldet werden mit M-x report-emacs-bug
). Sie können alle Pakete, die Sie nicht finden, entfernen, um eine abgespeckte Version von Emacs zu erstellen.
Sie könnten einfach die elc-Dateien aller gewünschten Pakete entfernen.
Zum Beispiel in der Version von Emacs im ubuntu-Repository das tetris Paket befindet sich:
/usr/share/emacs/23.3/lisp/play/tetris.elc
Wenn Sie verschieben oder entfernen, wird Emacs weiter arbeiten, aber sie werden nicht fähig, Tetris mehr zu spielen.
Möglicherweise möchten Sie die Variable package--builtins
überprüfen. Das heißt - es ist wenig sinnvoll, Pakete zu entfernen, die über package.el
installiert wurden, da package.el automatisch nur die Autoloads eines Pakets extrahiert und lädt - daher führt das Vorhandensein vieler installierter Pakete zu keinem nennenswerten Overhead. Ich bin mir ziemlich sicher, dass das Entfernen von integrierten Paketen nie ein Feature von package.el
sein wird.
Die Bewertung von Autoloads verursacht eine erhebliche Verlangsamung beim Laden, wenn Sie die Art von Person sind, die ihre Init unter 0,5 Sekunden hält. –
Da Emacs nicht alle Pakete beim Start laden wird, frage ich mich, was ist Ihr Zweck, das zu tun? – kindahero