unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Jean Louis <bugs@gnu.support>
To: help-gnu-emacs@gnu.org
Subject: Re: don't understand setq-default
Date: Mon, 19 Apr 2021 09:44:08 +0300	[thread overview]
Message-ID: <YH0muHhTy3G15Bj5@protected.localdomain> (raw)
In-Reply-To: <87zgxvtegq.fsf@zoho.eu>

* Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [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/




  reply	other threads:[~2021-04-19  6:44 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-18 11:40 don't understand setq-default Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-18 13:02 ` Omar Polo
2021-04-18 13:39   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-18 13:40     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-18 14:19       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-18 14:59         ` Omar Polo
2021-04-19  3:06           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19  3:23             ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19  3:33               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19  6:40                 ` Omar Polo
2021-04-19 13:39                   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19 12:49             ` Thibaut Verron
2021-04-19 17:29               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-18 21:59         ` Jean Louis
2021-04-18 22:28           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19  6:44             ` Jean Louis [this message]
2021-04-19 17:17               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19  3:49           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-19  6:52             ` Jean Louis
2021-04-19 17:26               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-20  5:44                 ` Rounding percentages... was setq-default Jean Louis
2021-04-30  1:04                   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-18 21:55 ` don't understand setq-default Jean Louis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YH0muHhTy3G15Bj5@protected.localdomain \
    --to=bugs@gnu.support \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).