From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Newsgroups: gmane.emacs.devel Subject: Re: A programming puzzle with buffer-local hooks Date: Thu, 18 May 2017 11:56:17 -0400 Message-ID: References: <6b7b6dff5fbf17b2f66bcd711b1d60f5.squirrel@cloud103.planethippo.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1495122995 8031 195.159.176.226 (18 May 2017 15:56:35 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 18 May 2017 15:56:35 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 Cc: Emacs developers To: Phillip Lord Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 18 17:56:32 2017 Return-path: Envelope-to: ged-emacs-devel@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 1dBNmx-0001ts-H4 for ged-emacs-devel@m.gmane.org; Thu, 18 May 2017 17:56:31 +0200 Original-Received: from localhost ([::1]:54479 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dBNn1-0003m8-Jv for ged-emacs-devel@m.gmane.org; Thu, 18 May 2017 11:56:35 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dBNmr-0003ky-KR for emacs-devel@gnu.org; Thu, 18 May 2017 11:56:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dBNmm-00088b-NC for emacs-devel@gnu.org; Thu, 18 May 2017 11:56:25 -0400 Original-Received: from mail-qk0-x235.google.com ([2607:f8b0:400d:c09::235]:34887) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dBNmm-00088Q-G0 for emacs-devel@gnu.org; Thu, 18 May 2017 11:56:20 -0400 Original-Received: by mail-qk0-x235.google.com with SMTP id a72so39468932qkj.2 for ; Thu, 18 May 2017 08:56:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=4AwXO4ptojZ0xk0MUjABXa6ly3EqosSrbReJA1er2MA=; b=EQQ5GED88A4bFPfPzdCUk8uXeWM3+TQR4kr5wcfuU1oLS6Rg190lU1dTE1bG6km6sr 9FKS5q6bdNdlvbzTQ6nj8woXej6Lae8Anldi902TWbaw4rre9ytz5dg8Uw/65eihBF69 b0Koj8+czzVX1vhwMpFSyoW+laXrxubW6uhlZlfjap8KjWzqMzw5lTnhYbzvWibKdLQT WqhGLGW7+hFyFUp3f2RgWleJSt5dx2dOJ52MOLEl8OQVyB4YijTDYJtIaXED7O5yenz1 fwxa/rvLuWX6B27N64SwEaltD9q2VpcaIZmslBtf/5COCdgxnOds/64txtIbVAASnxQO O87Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=4AwXO4ptojZ0xk0MUjABXa6ly3EqosSrbReJA1er2MA=; b=nKa86ielwxNnS5fEimB1f36JqoJP8GZ2Y+O3lcUPio5p3ox+cw7Bi5cH5HAsvnKDJz 85SjJG/oWHxCsABl7qkAHX79yHBI+dzoQ8LB3rq6+5fWiOn6H6smd7CSGzGWV3fIIu0w 88xQGLW3S9g0qGf269FqGTVoNr3xdNowIxtAfmOst/HD/V9O9+zMkQ3Kuc3VkkcdJ/Kt wGCcYxmsCSNPxTUb5ay9+/9GxuD7NE1UjZbR5a3c/8yf31tQdSrRg313/pX8Wjx/qpkf PXtKIcoflXDhiPWXGJuluEuA3dWImtqBJp356sB+Xz0jc+ek1QpcEXjAu77ujhVc0CSK TzHg== X-Gm-Message-State: AODbwcCcoBynkQqv5+XJaTopGGbJtwVO1GwsSUfN9sMsZtcWQmmFLusC cUZygvYxz4Fj0SGZey4= X-Received: by 10.55.18.163 with SMTP id 35mr5170409qks.228.1495122979689; Thu, 18 May 2017 08:56:19 -0700 (PDT) Original-Received: from [18.189.74.142] (dhcp-18-189-74-142.dyn.mit.edu. [18.189.74.142]) by smtp.gmail.com with ESMTPSA id i75sm3870888qke.67.2017.05.18.08.56.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 May 2017 08:56:19 -0700 (PDT) In-Reply-To: <6b7b6dff5fbf17b2f66bcd711b1d60f5.squirrel@cloud103.planethippo.com> Content-Language: en-GB X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::235 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:214945 Archived-At: On 2017-05-18 11:54, Phillip Lord wrote: > On Thu, May 18, 2017 3:45 pm, Clément Pit-Claudel wrote: >> On 2017-05-18 11:16, Phillip Lord wrote: >> >>> Add the hook globally, and then have your hook functions check whether >>> the mode is on or off before they do anything. >> >> I think that's mostly what I meant by "never removing the hook". Am I >> misunderstanding you? > > Well, combined with making it global, yes. > > I always found developing a minor mode where we add and remove hooks to be > a bit of a pain, because you can easily end up with different buffers have > different state during development. On the other hand, if you have a > single global hook, it's either there or not, just whether it works or not > is dependent only on whether the minor-mode is on or not. > > Seems a lot nicer to me. I entirely agree. But as a user I dislike these zombie hooks :)