From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Noam Postavsky Newsgroups: gmane.emacs.bugs Subject: bug#27822: [PATCH] do not auto-remove external packages (fixes #27822) Date: Wed, 08 Aug 2018 21:19:02 -0400 Message-ID: <87va8kwd4p.fsf@gmail.com> References: <87y3rc8thp.fsf@wavexx.thregr.org> <877elugljf.fsf@wavexx.thregr.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1533777494 20852 195.159.176.226 (9 Aug 2018 01:18:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 9 Aug 2018 01:18:14 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: 27822@debbugs.gnu.org To: Yuri D'Elia Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 09 03:18:10 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fnZaa-0005HF-Uj for geb-bug-gnu-emacs@m.gmane.org; Thu, 09 Aug 2018 03:18:09 +0200 Original-Received: from localhost ([::1]:46126 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnZch-00055Q-CJ for geb-bug-gnu-emacs@m.gmane.org; Wed, 08 Aug 2018 21:20:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnZcV-00051o-9t for bug-gnu-emacs@gnu.org; Wed, 08 Aug 2018 21:20:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fnZcR-0005Wp-8x for bug-gnu-emacs@gnu.org; Wed, 08 Aug 2018 21:20:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:40380) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fnZcR-0005WN-3H for bug-gnu-emacs@gnu.org; Wed, 08 Aug 2018 21:20:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fnZcQ-0008MN-LW for bug-gnu-emacs@gnu.org; Wed, 08 Aug 2018 21:20:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 09 Aug 2018 01:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27822 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 27822-submit@debbugs.gnu.org id=B27822.153377755132071 (code B ref 27822); Thu, 09 Aug 2018 01:20:02 +0000 Original-Received: (at 27822) by debbugs.gnu.org; 9 Aug 2018 01:19:11 +0000 Original-Received: from localhost ([127.0.0.1]:45398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fnZba-0008LD-U9 for submit@debbugs.gnu.org; Wed, 08 Aug 2018 21:19:11 -0400 Original-Received: from mail-it0-f50.google.com ([209.85.214.50]:39845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fnZba-0008Kz-3e for 27822@debbugs.gnu.org; Wed, 08 Aug 2018 21:19:10 -0400 Original-Received: by mail-it0-f50.google.com with SMTP id g141-v6so445380ita.4 for <27822@debbugs.gnu.org>; Wed, 08 Aug 2018 18:19:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=3s033fw3vwF7Z71hQcqwM+Py1NwoOK01YGbTIv8jcCs=; b=JcCiCvLmFq33xczoav9waPzoeCvrTCosMoMrFiEPFqBdvV3/9BfAgIvbHiZp/dTVAs MQmXSPRkWbX3kKO1G599+gsBUE7aF0vAWs2z+0YsbcTrE5AxuDcTkK8Hv3nLlzRVCbEF dwF1y7IZCoccY5QwQ244wNBlkN6LZnkCxgqZz57a87CG0xdMdpUTcwFR98Zrqe7DM1B2 3Ge7caZ9EHzMWejpok4MdtSDDN9hMGSxtxM+ZBex2rDnbG35/CaW/ykuRiFPdcQjeYPQ Q9TCo/C8WbdE+Dq/9tpZxchwTgbHhdeSQCYMu781t6YlVAChw4E6lB404CWK2usZOIR7 +feg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=3s033fw3vwF7Z71hQcqwM+Py1NwoOK01YGbTIv8jcCs=; b=BIQoinJGICWAtk5gSjQ3Qtr8YYTRZWB93JCtH/91H26nergjwcgp6vWh9WtD/xqUjV UNZKbFBbb8G2WJnaIEplm4yplJUi5nQTJCiLPWJsS7T+WkjrNiIUFW3jSfcHVAedpsCg oEuivP7+yqFYXzEGV4EWgW/E/DehxLrU6cVHvtzuZg27aR2SJXruSvvE9tOH+fFG0yKK 4EAB8ss8rcZ5kvL1vuIHs4WEabDrdCteMMJ5Ak0TCVg9UHHsPm5P6UNhl2Vr92eaxVDO PShJ1MsxujVn2fFU8QsVBhWG6Vm2lfotMhsU85TJE0Bb4s7sRYCHa9hg+SaZcRj2ETY4 VPvw== X-Gm-Message-State: AOUpUlFk8OipETMRlUHbkvXIFjSUkGxgQAklXmEDF+ikTW2zy1jakLm8 4boDezAVWtERj5QdfDn6jQF+loov X-Google-Smtp-Source: AA+uWPwSBX/m/QD9HvBWfPUzaTK48Dpslxftb/oa01Z1qVgiVzLWn35tZOdBqpWLaz0NlNH+QmgoFg== X-Received: by 2002:a02:b426:: with SMTP id i35-v6mr62197jaj.96.1533777544453; Wed, 08 Aug 2018 18:19:04 -0700 (PDT) Original-Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id w8-v6sm3493606itb.0.2018.08.08.18.19.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 08 Aug 2018 18:19:03 -0700 (PDT) In-Reply-To: <877elugljf.fsf@wavexx.thregr.org> (Yuri D'Elia's message of "Tue, 17 Jul 2018 13:16:04 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:149367 Archived-At: Yuri D'Elia writes: > >>>From 5a4234b3c1289960fd760256aa6399efbd04bfc3 Mon Sep 17 00:00:00 2001 > From: Yuri D'Elia > Date: Tue, 17 Jul 2018 12:59:35 +0200 > Subject: [PATCH] Do not consider external packages to be removable > > Packages which are not directly user-installed shouldn't be autoremoved, > since they can be setup through a different path (via > `package-directory-list') where we have no authority over. The patch looks okay for emacs-26, I'll push in a few days assuming no objections. A couple of nitpicks below: > +(defun package--user-installed-p (pkg) > + "Check if the package is a user-installed package. > +PKG is a package name. I think this is better shortened to Return non-nil if the package named PKG is user-installed. > +Checks whether the package was installed into `package-user-dir' where > +we assume to have control over." > + (let* ((pkg-desc (cadr (assq pkg package-alist))) > + (dir (package-desc-dir pkg-desc))) > + (file-in-directory-p dir package-user-dir))) > + > (defun package--removable-packages () > "Return a list of names of packages no longer needed. > These are packages which are neither contained in > @@ -1763,7 +1772,9 @@ These are packages which are neither contained in By the way, if you run './autogen --git' you should get nicer headers for lisp diffs. > ;; `p' and its dependencies are needed. > append (cons p (package--get-deps p))))) > (cl-loop for p in (mapcar #'car package-alist) > - unless (memq p needed) > + unless (or (memq p needed) > + ;; do not auto-remove external packages Comments should be capitalized and end with a period. > + (not (package--user-installed-p p))) > collect p)))