From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: don't understand setq-default Date: Mon, 19 Apr 2021 09:44:08 +0300 Message-ID: References: <87mttvx1lo.fsf@zoho.eu> <87eef7ycd9.fsf@omarpolo.com> <87blabww2u.fsf@zoho.eu> <877dkzww0r.fsf@zoho.eu> <8735vnwu8z.fsf@zoho.eu> <87zgxvtegq.fsf@zoho.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23870"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.6 (2021-03-06) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Apr 19 08:45:22 2021 Return-path: Envelope-to: geh-help-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 1lYNes-00066S-AR for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 19 Apr 2021 08:45:22 +0200 Original-Received: from localhost ([::1]:46120 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lYNer-0007G0-Dv for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 19 Apr 2021 02:45:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47238) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYNeY-0007Fu-8P for help-gnu-emacs@gnu.org; Mon, 19 Apr 2021 02:45:02 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:60329) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYNeV-0004ZZ-W1 for help-gnu-emacs@gnu.org; Mon, 19 Apr 2021 02:45:01 -0400 Original-Received: from localhost ([::ffff:41.202.241.57]) (AUTH: PLAIN securesender, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000280C8.00000000607D26E9.000026F6; Sun, 18 Apr 2021 23:44:56 -0700 Mail-Followup-To: help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <87zgxvtegq.fsf@zoho.eu> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:129065 Archived-At: * Emanuel Berg via Users list for the GNU Emacs text editor [2021-04-19 01:29]: > Jean Louis wrote: > > > Here is how I have defined a buffer local variable: > > > > (defvar-local rcd-tabulated-marked-items nil > > "Collects IDs for tabulated list modes") > > (put 'rcd-tabulated-marked-items 'permanent-local t) > > Oh, great! No, didn't find/have any `defvar-local', good, for > me that is, I'm sure it's good for something but to me it > just isn't my style. And my style confirms it, even! > > But... from that code above it looks you set it to local > twice, first by defvar-local, then by setting the > permanent-local property to t? > > permanent-local, sounds like the default. There is in manual what it is: (info "(elisp) Creating Buffer-Local") A buffer-local variable is “permanent” if the variable name (a symbol) has a ‘permanent-local’ property that is non-‘nil’. Such variables are unaffected by ‘kill-all-local-variables’, and their local bindings are therefore not cleared by changing major modes. Permanent locals are appropriate for data pertaining to where the file came from or how to save it, rather than with how to edit the contents. As I am using the variable to extend the tabulated-list-mode, I have been following the example and explanation in file `tabulated-list.el' as below: ;; The reason `tabulated-list-format' and other variables are ;; permanent-local is to make it convenient to switch to a different ;; major mode, switch back, and have the original Tabulated List data ;; still valid. See, for example, ebuff-menu.el. That may happen sometimes. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ https://rms-support-letter.github.io/