From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "J.P." Newsgroups: gmane.emacs.bugs Subject: bug#57955: 29.0.50; Allow session-local ERC modules Date: Sun, 21 May 2023 21:05:41 -0700 Message-ID: <87a5xx57u2.fsf__36610.0372558989$1684728447$gmane$org@neverwas.me> References: <8735cm2o2l.fsf@neverwas.me> <87ilk64te5.fsf@neverwas.me> <877czww91p.fsf@neverwas.me> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22211"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-erc@gnu.org To: 57955@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon May 22 06:07:18 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1q0wpK-0005Yt-DD for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 May 2023 06:07:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q0woy-0007KG-UZ; Mon, 22 May 2023 00:06:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q0wo6-0007E3-Tw for bug-gnu-emacs@gnu.org; Mon, 22 May 2023 00:06:55 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q0wo6-0006aq-KN for bug-gnu-emacs@gnu.org; Mon, 22 May 2023 00:06:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q0wo6-0001B2-DW for bug-gnu-emacs@gnu.org; Mon, 22 May 2023 00:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "J.P." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 May 2023 04:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57955 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 57955-submit@debbugs.gnu.org id=B57955.16847283594514 (code B ref 57955); Mon, 22 May 2023 04:06:02 +0000 Original-Received: (at 57955) by debbugs.gnu.org; 22 May 2023 04:05:59 +0000 Original-Received: from localhost ([127.0.0.1]:33129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q0wo3-0001Ak-Ds for submit@debbugs.gnu.org; Mon, 22 May 2023 00:05:59 -0400 Original-Received: from mail-108-mta207.mxroute.com ([136.175.108.207]:35453) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q0wo0-0001AX-K6 for 57955@debbugs.gnu.org; Mon, 22 May 2023 00:05:57 -0400 Original-Received: from mail-111-mta2.mxroute.com ([136.175.111.2] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta207.mxroute.com (ZoneMTA) with ESMTPSA id 18841a2795800074ee.001 for <57955@debbugs.gnu.org> (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Mon, 22 May 2023 04:05:46 +0000 X-Zone-Loop: c09725f1806c2b4fafb2a61e6bebbf0e3e71fdfc4686 X-Originating-IP: [136.175.111.2] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=neverwas.me ; s=x; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=KBMSoaWQjPPzt3V32DvDvA6u8dRyHBgb4ZqHVhMdzVk=; b=O0vcXgBzie5aTwUVmnjgbTLZm3 ISCL2/H1HRSIvWOI94HgfZRuAp2crpykDm2aPwwVChL1hXmv99pfQNLhw9CSISciJS/qxLf9d/1Kt LSiWr/vF8SkuK1/gQwdUVjYngMItn7mlRBMuaZj96hQmJVKbFhpO/FTpqZZbML4yRnzGx0F11Gha6 +3ru7oMRu/7gL1GSfXw59XASn2fVHkQz6VpXv+0+0wzmLaOfoIDHz0cS6sqYP40pir10LJsVinzbm 1Rd8ALDzFiYEqWVupte3VJX8aKImJmdCT1k8sV9Aj/fVR3+jV5xckL4RA9xBSjYmgDK3teH/2YbA0 Rc0KGrsQ==; In-Reply-To: <877czww91p.fsf@neverwas.me> (J. P.'s message of "Tue, 15 Nov 2022 07:07:30 -0800") X-Authenticated-Id: masked@neverwas.me X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:262127 Archived-At: "J.P." writes: > Brief update. The scope of this change has shrunk considerably. The > deferred loading and migrations stuff still applies, but the main > user-facing aspect, namely, support for let-binding a module's options > on entry-point invocation, has been abandoned (for now). > > After looking into connection-local variables a bit, following Michael's > suggestion up thread, I have come to the opinion that the let-binding > idea was not fully formed and that options granularity is worthy of more > meditation and discussion and thus not a realistic goal for Emacs 5.5. To help with managing local modules, I've added some (possibly temporary) convenience functions and other supporting items as part of bug#60936. The most useful are: * macro `erc--restore-initialize-priors' This restores local variables from a previous session on major-mode hook or slightly later. The effect is similar to that provided by the `permanent-local' property, which we may end up settling for if the dream of context-local user options evaporates for good. This may also be of interest to global modules intended primarily for interactive use, such as the proposed `bufbar' and `nickbar' (bug#63595). * variable `erc--updating-modules-p' This is non-nil when running `erc-update-modules' in `erc-open'. It allows global modules to suppress superfluous buffer initialization pre-major-mode while still making that same init code available on demand for interactive invocations and indirect activation by dependent modules. Please keep in mind that these may change or disappear at any time.