[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: don't understand setq-default
From: |
Emanuel Berg |
Subject: |
Re: don't understand setq-default |
Date: |
Mon, 19 Apr 2021 05:06:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Omar Polo wrote:
> [ keep in mind that I'm not really an expert elisp hacker ]
You are getting there...
> Let's take the indent-tabs-mode variable for instance: you
> set it to t to enable hard tabs, or nil if you don't.
> For some modes you may want to use tabs (e.g. C, or Go),
You may, but you don't need tabs in C. (I'm not familiar
with Go.) The only thing that always wants tabs are the
Makefiles, right?
>
> Another example: I'm writing a chat application in elisp.
> I have a, say, toxe-friend-name that holds the name of the
> chat you've opened. It's useful to keep this
> a buffer-local, so it gets a different value per
> chat-buffer, and the elisp code is simple.
That's right, it is a good example, when you have several
buffers of the same kind to hold some data piece or pieces
connected to that particular buffer of whatever the program
in general is suppose to do...
> that buffer. (I don't know how to retrieve the global
> value, but a short trip to the manual should tell me that)
>
> So, for example:
>
> (defvar my-var 5)
Heh, OK so now the global has a default as well... let's see
how this goes.
> my-var
> ;; => 5
Right, defined with a default and not set. So it is
the default. What else is there to be.
> (with-current-buffer (get-buffer-create "test")
> (message "my-var is %d" my-var) ; my-var is 5
Not changed so this is the global-default (only) version at
this time.
> (make-local-variable 'my-var)
> (setq my-var 7)
> (message "my-var is %d" my-var) ; my-var is 7
Now it is set locally so now it is 7. By locally we mean
buffer-local, that's the only local there is?
> (setq-default my-var 'foo)
> (message "my-var is %d" my-var)) ;; my-var is 7
Now we set the default but since it is set hat doesn't matter.
> my-var
> ;; => foo
And now it isn't anymore so the default is there, great.
So the pecking order is:
local var
global var
local default
global default
?
and local default and global default are even lower because
they don't do anything if there's a value there already.
--
underground experts united
https://dataswamp.org/~incal
- don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Omar Polo, 2021/04/18
- Re: don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Omar Polo, 2021/04/18
- Re: don't understand setq-default,
Emanuel Berg <=
- Re: don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Omar Polo, 2021/04/19
- Re: don't understand setq-default, Emanuel Berg, 2021/04/19
- Re: don't understand setq-default, Thibaut Verron, 2021/04/19
- Re: don't understand setq-default, Emanuel Berg, 2021/04/19
- Re: don't understand setq-default, Jean Louis, 2021/04/18
- Re: don't understand setq-default, Emanuel Berg, 2021/04/18
- Re: don't understand setq-default, Jean Louis, 2021/04/19
- Re: don't understand setq-default, Emanuel Berg, 2021/04/19