From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.bugs Subject: bug#5294: 23.1; unload-feature disable minor-mode Date: Wed, 6 Jan 2010 01:23:41 +0100 Message-ID: References: <87aawwp631.fsf@blah.blah> <87tyv4njo7.fsf@blah.blah> <87bpha7ptb.fsf@blah.blah> <87iqbgt9h4.fsf@blah.blah> Reply-To: Juanma Barranquero , 5294@debbugs.gnu.org NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1262743792 32449 80.91.229.12 (6 Jan 2010 02:09:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 6 Jan 2010 02:09:52 +0000 (UTC) Cc: 5294@debbugs.gnu.org To: Kevin Ryde Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jan 06 03:09:44 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NSLLD-0001lC-Of for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Jan 2010 03:09:44 +0100 Original-Received: from localhost ([127.0.0.1]:38184 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NSLLD-0001ZG-RB for geb-bug-gnu-emacs@m.gmane.org; Tue, 05 Jan 2010 21:09:43 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NSK4x-0000vI-Fn for bug-gnu-emacs@gnu.org; Tue, 05 Jan 2010 19:48:51 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NSK4s-0000nG-Mn for bug-gnu-emacs@gnu.org; Tue, 05 Jan 2010 19:48:51 -0500 Original-Received: from [199.232.76.173] (port=51924 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NSK4s-0000mv-FR for bug-gnu-emacs@gnu.org; Tue, 05 Jan 2010 19:48:46 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49512) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NSK4s-0006uR-4R for bug-gnu-emacs@gnu.org; Tue, 05 Jan 2010 19:48:46 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1NSJhu-00035S-Bp; Tue, 05 Jan 2010 19:25:02 -0500 X-Loop: bug-gnu-emacs@gnu.org Mail-Followup-To: Juanma Barranquero , 5294@debbugs.gnu.org Resent-From: Juanma Barranquero Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Jan 2010 00:25:02 +0000 Resent-Message-ID: Resent-Sender: bug-gnu-emacs@gnu.org X-Emacs-PR-Message: followup 5294 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 5294-submit@debbugs.gnu.org id=B5294.126273744911849 (code B ref 5294); Wed, 06 Jan 2010 00:25:02 +0000 Original-Received: (at 5294) by debbugs.gnu.org; 6 Jan 2010 00:24:09 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NSJh2-000354-Lo for submit@debbugs.gnu.org; Tue, 05 Jan 2010 19:24:08 -0500 Original-Received: from mail-bw0-f216.google.com ([209.85.218.216]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NSJh0-00034m-LB for 5294@debbugs.gnu.org; Tue, 05 Jan 2010 19:24:07 -0500 Original-Received: by bwz8 with SMTP id 8so10772562bwz.39 for <5294@debbugs.gnu.org>; Tue, 05 Jan 2010 16:24:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=K9LOsZ2A2nc+jWeCXYqmTunM7xZIQ+49xOe6YLlvXJs=; b=vsX5a6gczZ0SqF3GkdwCLBKx9+s/epfEXD5e5dO0rLs0Yn68A8UhGqdqes+IHAKYCc +jJIEkxCUwKp0JQoewbUjSUvbavHE3MBy7z/dkV4cIZW58PfkvizkfPEXUAMFHVPqklm stIoZM7ZKqCQkKI4FDo5TuVRpZJ+NbeenKl5Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=qY2WIyYg7R7k1m0kp2G4fqxgz9C+iJ+abR8qFgbFjRU3ycd9dM2qXxcF4ia9BA6mz8 V7oBoYr2DMMdOEbSX6dW4uWw6eI2Xgw3qW+FOOoK6UYTENXwinDLGMYSoQgNP9ajpY8m 1fA36jTrqH8A5jr7eK+m7F4grYKRxBibacTGo= Original-Received: by 10.204.25.208 with SMTP id a16mr5434461bkc.133.1262737442170; Tue, 05 Jan 2010 16:24:02 -0800 (PST) In-Reply-To: <87iqbgt9h4.fsf@blah.blah> X-Spam-Score: -2.7 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list X-Spam-Score: -2.7 (--) Resent-Date: Tue, 05 Jan 2010 19:25:02 -0500 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:33975 Archived-At: On Wed, Jan 6, 2010 at 00:31, Kevin Ryde wrote: > To, umm, get slightly back on-topic -- as an alternative for unloading > minor modes, if the mode is currently enabled in a buffer, or enabled > globally for a global, then unload-feature might refuse to unload > (except under FORCE) on that basis that in-use is a kind of dependency > on the feature's code etc. =C2=A0The same might be applied to major modes= , > ie. refuse to unload if in use. That would be too restrictive; there are instances in which just deactivating the mode(s) and unloading the package is just what the user expects. Also, FORCE already has a defined meaning: to bypass checks for package dependencies, not safety checks for all kinds of things a package may set up. > Some generality could be had if there was a way that define-minor-mode > might tie-in a test that unload-feature would reach when considering > whether to unload. How is passing that test (presumibly, either a form or a predicate function) to define-minor-mode better than putting it into FEATURE-unload-function? > define-minor-mode might like to run some code on the > actual unload too, to reverse some of `add-minor-mode', like removing > from minor-mode-list (unless perhaps autoloaded minor mode funcs could > stay there happily enough). Which can be done from FEATURE-unload-function. At first you talked about add-ons which would want to piggyback into the unloading of a package, and I don't think that's a good idea, but if a package author is really interested on it, it is doable with advices, etc. But your examples in this message are all things that can already be done on FEATURE-unload-function, for those packages that really need it. If you consider that going through the full buffer list, checking for the mode and disabling it is too cumbersome, perhaps you can write a helper function that could be called from the unload function... Juanma