From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.bugs Subject: bug#57003: 28.1.90; Can local variables be loaded before loading major mode? Date: Wed, 31 Aug 2022 11:29:08 +0800 Message-ID: <87o7w1ozuj.fsf@localhost> References: <87czdeoqy7.fsf@localhost> <875yj5xzou.fsf@localhost> <875yj443zy.fsf@gnus.org> <874jyo6vd6.fsf@localhost> <87k07k18ro.fsf@gnus.org> <871qts6tzy.fsf@localhost> <87bksv0ya6.fsf@gnus.org> <87edxqzzm6.fsf@localhost> <87leryzzdl.fsf@gnus.org> <87a68ezycj.fsf@localhost> <875yj2zudw.fsf@gnus.org> <871qtp64eq.fsf@localhost> <878rntskld.fsf@gnus.org> <877d3c7by7.fsf@localhost> <87h72gjr3a.fsf@gnus.org> <87ilmw5o4j.fsf@localhost> <87k07ayz7u.fsf@localhost> <87wnb7yyfb.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40126"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, 57003@debbugs.gnu.org To: rms@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 31 05:29:14 2022 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 1oTEPg-000ABf-8b for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 31 Aug 2022 05:29:12 +0200 Original-Received: from localhost ([::1]:36688 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTEPe-0008IL-Dm for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 30 Aug 2022 23:29:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34410) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTEPW-0008Hv-V2 for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2022 23:29:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:48131) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTEPW-0005Ad-LT for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2022 23:29:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oTEPW-0001Dt-CR for bug-gnu-emacs@gnu.org; Tue, 30 Aug 2022 23:29:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ihor Radchenko Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Aug 2022 03:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57003 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 57003-submit@debbugs.gnu.org id=B57003.16619164924645 (code B ref 57003); Wed, 31 Aug 2022 03:29:02 +0000 Original-Received: (at 57003) by debbugs.gnu.org; 31 Aug 2022 03:28:12 +0000 Original-Received: from localhost ([127.0.0.1]:37880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oTEOi-0001Cr-Gl for submit@debbugs.gnu.org; Tue, 30 Aug 2022 23:28:12 -0400 Original-Received: from mail-pl1-f171.google.com ([209.85.214.171]:46004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oTEOg-0001Cc-Au for 57003@debbugs.gnu.org; Tue, 30 Aug 2022 23:28:11 -0400 Original-Received: by mail-pl1-f171.google.com with SMTP id u22so12961065plq.12 for <57003@debbugs.gnu.org>; Tue, 30 Aug 2022 20:28:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc; bh=mSk4BEaofDUk+UIrVzul40uwG9N8ReenpCWcJFHkDdU=; b=ia0XjIpm+CI2ch/y5Env0C3heIzKLyl5kTWKEE4Vp3ZulPRMS5tvtGyBHUosyy4J3h 1IhQCczJ9kcdYs+HzWEhWz8aeFLUwaNh8AfCbZf18kE47OvxQaiSRGwgB+k9mZtYZS2X 1u5OP23MnvjwhIkp3/f6KiCrlP8rWUr+FOMfegLHgVZCjWIyMGj0/beJBSzx49KWy2rG 4+ur1oSEmUNb8WnHexOcZRTm/Sl9PcBSUBncs+UScrdl4JqzoOBIIcZyr48a7VfQat5Q pdgsu2o+diQ+/ptVgNsif16Fiofi1ah0ycQBQl591m4dkSoo8130fdW5gcyXj6HfKjLK 0i8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc; bh=mSk4BEaofDUk+UIrVzul40uwG9N8ReenpCWcJFHkDdU=; b=0xPuOMhj4zmZtL/dvhrkQjRyGiqPHmZjVCBQDrXWCOGVNjaytC+ZZKWCT+SX1xghDD 6d2/p5+16vkcKYw8SwKR3Nhdte2oL5h3RH0uucHgs5UUUQ4sZIMuWCy2Lk5HxhygUC0s r5j7B9g0frXPRPRxXDnPMXJeIE/2zhPVpqVjFe9enOlkbGRtNaF97U3HmnEc8tygSJ4/ wydOidF/05cqB+zrtxaGXUNpW6xZv9S3uWgg7ARbLQVGQ7xMSN2FeH37fArOAYE3le8N kxPhsdP2oFd6EcLdJSFDJWoD/fnSikraR8K1JOtMLTvBVkPcQUM43IAyBTGT7uDznZOE W8MQ== X-Gm-Message-State: ACgBeo333h6Isi6q9Pfk399BSG9wptNzOeEXoMxDEx+W+tmtU8O1XXe+ 2U26DlU9aJgU4fiD/NnBDRo= X-Google-Smtp-Source: AA6agR5WZvzdDlTR76a1OEavRC6TJNE9mvitut585j2tTHbcaCRJpYRVbZXmGsdaiK+mJDLvxhVgwQ== X-Received: by 2002:a17:902:cec7:b0:172:5b09:161c with SMTP id d7-20020a170902cec700b001725b09161cmr23231998plg.60.1661916484547; Tue, 30 Aug 2022 20:28:04 -0700 (PDT) Original-Received: from localhost ([115.154.175.57]) by smtp.gmail.com with ESMTPSA id m20-20020a17090ade1400b001fad1f975casm323397pjv.12.2022.08.30.20.28.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Aug 2022 20:28:04 -0700 (PDT) In-Reply-To: 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" Xref: news.gmane.io gmane.emacs.bugs:241162 Archived-At: Richard Stallman writes: > That's the right thing to do. However, your previous message seemed > to imply a problem, because it proposed loading these buffer-local > variables "before executing the major mode body", and that would be > before `kill-all-local-variables'. That function would kill these new > bindings, unless it were prevented from doing so. I was referring to define-derived-mode macro, where `kill-all-local-variables' is actually called before BODY argument. Of course, as Lars pointed, some major modes may not use `define-derived-mode' and the meaning of "body" is different. The major modes that do not use define-derived-mode are actually problematic. While we can expect `kill-all-local-variables' to be called early even in such major modes, the mode symbol is not yet known by the time `kill-all-local-variables' is called. I am not sure how to approach the proposed 'early-local property for mode-specific file/directory-local variables in such scenario. -- Ihor Radchenko, Org mode contributor, Learn more about Org mode at https://orgmode.org/. Support Org development at https://liberapay.com/org-mode, or support my work at https://liberapay.com/yantar92