[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#12215: CSET is unnecessarily confusing
From: |
Stefan Monnier |
Subject: |
bug#12215: CSET is unnecessarily confusing |
Date: |
Fri, 24 Aug 2012 11:10:02 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) |
Paul Eggert said:
> If that flag has a standard name, one doesn't need separate macros
> BSET/CSET/etc; one can have just one macro that works for all types.
Indeed. Tho, since we haven't managed yet to do that for gcmarkbit, I'm
not holding my breath.
Chong Yidong said:
> BVAR (b->directory) = current_buffer ? BVAR
> (current_buffer->directory) : Qnil;
The BVAR accessor macro is not for the GC but for the concurrency code.
And yes, I think that BVAR(foo->bar) can be sufficient for the
concurrency code (it can be macro-expanded to buffer_var(foo->bar,
current_thread)), assuming we change all buffer slots to be of a new
type, which is a table from thread_ids to Lisp_Object.
And even if it can't be done with a macro (because we want to use
another implementation technique that needs to look up some other data
in the buffer or to know the offset of the field), having those BVAR
will make it easy to replace those accessors with something else.
For the setters, I think we'll be better off with either
BSET (b->directory, val), or BSET (b, ->directory, val), which restricts
the form that can be used.
Stefan
- bug#12215: CSET is unnecessarily confusing, (continued)
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/21
- bug#12215: CSET is unnecessarily confusing, Stefan Monnier, 2012/08/23
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/23
- bug#12215: CSET is unnecessarily confusing, Chong Yidong, 2012/08/23
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/23
- bug#12215: CSET is unnecessarily confusing, Dmitry Antipov, 2012/08/24
- bug#12215: CSET is unnecessarily confusing,
Stefan Monnier <=
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/24
- bug#12215: CSET is unnecessarily confusing, Tom Tromey, 2012/08/24
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/24
- bug#12215: CSET is unnecessarily confusing, Stefan Monnier, 2012/08/24
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/24
- bug#12215: CSET is unnecessarily confusing, Stefan Monnier, 2012/08/24
- bug#12215: CSET is unnecessarily confusing, Paul Eggert, 2012/08/26