From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: master 760910f: Add a new buffer-local variable `minor-modes' Date: Sun, 14 Feb 2021 10:34:51 -0500 Message-ID: References: <20210214113754.21891.10736@vcs0.savannah.gnu.org> <20210214113756.93760209D4@vcs0.savannah.gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26518"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Lars Ingebrigtsen To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 14 16:36:04 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lBJRI-0006go-Vf for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Feb 2021 16:36:00 +0100 Original-Received: from localhost ([::1]:39912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBJRI-0003A1-1V for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Feb 2021 10:36:00 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39232) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBJQN-0002YM-3r for emacs-devel@gnu.org; Sun, 14 Feb 2021 10:35:03 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:45611) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBJQK-0005Ub-SI for emacs-devel@gnu.org; Sun, 14 Feb 2021 10:35:02 -0500 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 89C0980055; Sun, 14 Feb 2021 10:34:58 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 069C480229; Sun, 14 Feb 2021 10:34:53 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1613316893; bh=Ezo3EPPjlGDi7ljUsJRma5Q8vlVAreIIeU5jqNCw0Mo=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=hCiK5nueXK/Pnmo0UkYNiKBsdp+7tm5Ao4zVeD1FQng2dZ4sI1mZ6XI4w2yyQ5qkc X0mSVENNvK5pSR7lzcrofNgUGHrl3PHv1DTh4p9/9TcuNjD0aWMw9nM1t25EjtHt8U 4NZDBEEX9Ft34cTMl00hSFRMGAT3ENfdyNinwGT1SqQ68mgCx20WjJYIoYB4AFUkIm Tv2ysFDaiHBe7wn4BRqFKYSx6tdXua6Vaf1ckskCdMIqT1aOmNXm4rELDQbvLnjl77 DS9iDfxIZ+Ht6lUdRjJBrUZ/3BHyfvYKWzcGfRsfJq5cvQG+O/FeHlecKeVRaapK+2 aQ7qBmXdvGT7g== Original-Received: from alfajor (unknown [216.154.41.47]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9314D120246; Sun, 14 Feb 2021 10:34:52 -0500 (EST) In-Reply-To: <20210214113756.93760209D4@vcs0.savannah.gnu.org> (Lars Ingebrigtsen's message of "Sun, 14 Feb 2021 06:37:56 -0500 (EST)") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:264709 Archived-At: > Add a new buffer-local variable `minor-modes' > > * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Keep > `minor-modes' updated. Hmm... those files that have already been compiled with earlier Emacsen will not keep this var up-to-date, so it can't be used reliably. Also, I wonder why we need this to be a variable. Can't we have an `enabled-minor-modes` function instead, which can simply loop through `minor-mode-list` and see which ones are enabled? > + ;; Keep `minor-modes' up to date. > + (setq minor-modes (delq ',modefun minor-modes)) > + (when ,getter > + (push ',modefun minor-modes)) For global minor modes, this will adjust the list for the buffer that happens to be current when the mode is changed, but it won't affect all other buffers's lists. Stefan