Po zaktualizowaniu pakietów za pomocą M-x list-packages
interfejsu po pomyślnej instalacji pakietu pojawi się pytanie, czy chcesz usunąć stary pakiet. Nie usuwaj ich, aby pozostały na miejscu, a później możesz usunąć nowszy pakiet za pośrednictwem tego interfejsu.
Moja obecna lista pakietów pokazuje 4 wersje magit zainstalowane w moim drzewie katalogów ~ / .emacs.d / elpa /.
magit 20160827.1549 obsolete A Git porcelain inside Emacs
magit 20160907.945 obsolete A Git porcelain inside Emacs
magit 20161001.1454 obsolete A Git porcelain inside Emacs
magit 20161123.617 installed A Git porcelain inside Emacs
Możesz wyczyścić stare wersje później za pomocą klawisza ~
(pakiet-menu-znak-przestarzałe-do-usunięcia), aby zaznaczyć wszystkie przestarzałe pakiety. Aby usunąć pewną starą wersję, przejdź do jej linii i naciśnij, d
aby zaznaczyć je do usunięcia. Po zaznaczeniu pakietów, których użyjesz x
do wykonania akcji w zwykły sposób.
W Emacsie 25 zaznacz wszystkie pakiety dla U
funkcji pgrade automatycznie ustawia wszystkie stare pakiety do usunięcia i nie wyświetla monitu o potwierdzenie po instalacji. Musisz poszukać linii rozpoczynających się od dużej litery „D”, którą możesz po prostu odznaczyć (najlepiej za pomocą poniższego makra)
Wpisz klucz lub akord po lewej stronie myślnika w następujących wierszach.
<F3> - start macro recording
C-s - isearch-forward
C-q - quoted-insert
C-j - linefeed character
D - the mark at the start of the line
<Ret> - stops the isearch on the line with the "D"
u - unmark the package for deletion
<F4> - stops macro recording - the first package is now unmarked
<F4> - executes the macro for the next upgraded package
Jeśli nie ma dalszych dopasowań do wyszukiwania, makro zadzwoni i zatrzyma się, aby można było C-u 0 <F4>
odznaczyć wszystkie pakiety oznaczone do usunięcia. Następnie możesz x
wykonać instalację.
Funkcja, którą zadeklarowałem jako zmienioną w moim komentarzu, musi zostać zmieniona w sposób, którego nie mogę jeszcze uchwycić, ponieważ ważne jest, aby ostatni blok (warunkowy) odniósł sukces, aby nie zapętlał się w nieskończoność.
M-x package-install-file
. Istnieją również inne sposoby zarządzania pakietami poza ELPA / package.el, takie jak el-get i quelpa , wydaje się, że można ich używać bez ELPA, może mogą zrobić to, co chcesz.