{"id":9198,"date":"2020-10-08T16:15:24","date_gmt":"2020-10-08T20:15:24","guid":{"rendered":"https:\/\/irreal.org\/blog\/?p=9198"},"modified":"2020-10-08T16:15:24","modified_gmt":"2020-10-08T20:15:24","slug":"reinstalling-packages","status":"publish","type":"post","link":"https:\/\/irreal.org\/blog\/?p=9198","title":{"rendered":"Reinstalling Packages"},"content":{"rendered":"<p>Bozhidar Batsov over at <a href=\"https:\/\/emacsredux.com\">Emacs Redux<\/a>, has got another useful bit of Elisp to help <a href=\"https:\/\/emacsredux.com\/blog\/2020\/09\/12\/reinstalling-emacs-packages\/\">clean up packages that may not have been compiled correctly<\/a>. This sometimes happens to me when I update a package with <code>package.el<\/code>. The idea is to unload the function, reinstall it, and then load it again.<\/p>\n<p>Batsov\u2019s packages his Elisp as a simple function. It\u2019s not especially user friendly because it can\u2019t be called interactively so he provides another function that you can call with the usual <kbd>Meta<\/kbd>+<kbd>x<\/kbd> mechanism and choose the package through the <code>completing-read<\/code> function.<\/p>\n<p>As Batsov says, this probably isn\u2019t something that you\u2019re going to need very often so you might not want to clutter up your configuration with it if you worry about such things. Even if that\u2019s the case, you can just call the three commands separately. The <code>require<\/code> function isn\u2019t interactive but it\u2019s easy to call from the minibuffer with <code>eval-expression<\/code>, usually bound to <kbd>Meta<\/kbd>+<kbd>:<\/kbd>.<\/p>\n<p>If you\u2019re the type of person who hates to restart Emacs, this can be an easy way to resolve update problems without having to start over with your Emacs instance. I\u2019ve added the interactive version to my config but haven\u2019t needed it yet. We\u2019ll see how it goes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bozhidar Batsov over at Emacs Redux, has got another useful bit of Elisp to help clean up packages that may not have been compiled correctly. This sometimes happens to me when I update a package with package.el. The idea is &hellip; <a href=\"https:\/\/irreal.org\/blog\/?p=9198\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[18],"class_list":["post-9198","post","type-post","status-publish","format-standard","hentry","category-general","tag-emacs"],"_links":{"self":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/9198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9198"}],"version-history":[{"count":1,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/9198\/revisions"}],"predecessor-version":[{"id":9199,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/9198\/revisions\/9199"}],"wp:attachment":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}