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 14:38:09 -0400 Message-ID: References: <9bb8a8be-2cc6-f7cb-b164-13ffb77b8488@gmail.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 1495132733 22519 195.159.176.226 (18 May 2017 18:38:53 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 18 May 2017 18:38:53 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 18 20:38:49 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 1dBQK0-0005lg-M2 for ged-emacs-devel@m.gmane.org; Thu, 18 May 2017 20:38:48 +0200 Original-Received: from localhost ([::1]:55120 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dBQK6-0000nI-4w for ged-emacs-devel@m.gmane.org; Thu, 18 May 2017 14:38:54 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dBQJT-0000nC-3y for emacs-devel@gnu.org; Thu, 18 May 2017 14:38:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dBQJP-0005F0-3T for emacs-devel@gnu.org; Thu, 18 May 2017 14:38:15 -0400 Original-Received: from mail-qk0-x236.google.com ([2607:f8b0:400d:c09::236]:36551) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dBQJO-0005Eu-VS for emacs-devel@gnu.org; Thu, 18 May 2017 14:38:11 -0400 Original-Received: by mail-qk0-x236.google.com with SMTP id u75so43477365qka.3 for ; Thu, 18 May 2017 11:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=a/KSEUMF58pIDqNJ8gToTTRfgX8lSDgm/PeIqlewSV8=; b=Fl1RpsgnPurkhQkbywV1VEAPoHSeURVPsAiyXvEa7CVVa3ZqP9iZHNdEENbPZBqgts rV1TMJo3FKUJBRXBMdwfoPSVWtmg62npkt+bzK9S44FJh22hQDrD8YPhhboAb2dPyqmW NjXxG6IRuc0HfqVW9oI7z2umnrPjtfI7YbqrSwpgUEULu+DdSkh0BCFyvD/8TcdTHWFJ 4anyrZvXKEUPXTlGAQ9cBgw+X92MoWPcWwaVZsfcZtI8eV5FzoZWNFI6vJUEC2wGCHbz sdjGvFN4FPLj9CeRPkEGsBMa1PRz+75vwU6sKyQC2jn2/ktMj8UluPEqUxzNUc0ncLbR IyNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=a/KSEUMF58pIDqNJ8gToTTRfgX8lSDgm/PeIqlewSV8=; b=VgEf2/lNeYnJc7nkp2yt0bL1fpYT3S0OR0UCrnkAwROU6L7tjBRQLFTvNPVJqOv3Ti M5epa3nX/GbYXC6VM+4Tr1bFhlTf+sXLu3wcniltmztf+YGBlui4iYMpWnR7z0nyp4y7 9kR7M7wYQ18G6wDdgnvJT04CeMZfLEAMlx44WINju0kQo+emJYCiJVKUPqhX519gdreP J4kyPQh7e3LhuuuYAuRUzAx8ARH0vzEV7RbJuQp4NcATBp20xpsMmBmKhqNBSBa7bMzC 3kjlQ7rkh6V2/SvW8nfQU8hYA8C0WFtANAE3R7KU32vrGZlsVIJE8GvNVycdZG0/OMwi hOtQ== X-Gm-Message-State: AODbwcDRN73Tu5jf+e9ejuxe2CTbYeyxe5CGs0aIyBtBWQ/IcgvoJycL bGYNi1wCTRpr1gLg0Fs= X-Received: by 10.55.76.69 with SMTP id z66mr5394276qka.1.1495132690307; Thu, 18 May 2017 11:38:10 -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 k184sm4432073qkb.48.2017.05.18.11.38.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 May 2017 11:38:09 -0700 (PDT) In-Reply-To: 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::236 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:214953 Archived-At: On 2017-05-18 12:51, Stefan Monnier wrote: >> I can think of two other tricks: reference counting (every time the >> mode is disabled, check whether it's enabled anywhere else), and never >> removing the hook. > > Before removing the hook, check if there's still a buffer where the mode > is activated. That's what the line you quoted meant to say. Sorry if it wasn't clear :/ Clément.