aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorPaul Eggert2019-09-03 21:54:58 -0700
committerPaul Eggert2019-09-03 22:46:11 -0700
commit97cfda2638afc7fed6ac7e465c6fe927f428a932 (patch)
treeab634688fc29cfd75b013ae274b70c80cd426eea /src/buffer.h
parent9117a667908064a0b4ae6ec6c8f3674d95ad6225 (diff)
downloademacs-97cfda2638afc7fed6ac7e465c6fe927f428a932.tar.gz
emacs-97cfda2638afc7fed6ac7e465c6fe927f428a932.zip
Take last_per_buffer_idx private
This will simplify future changes. Turn the runtime check into an eassert, since it’s not needed in production. * src/buffer.c (last_per_buffer_idx): Now static. (valid_per_buffer_idx): New function. * src/buffer.h (PER_BUFFER_VALUE_P, SET_PER_BUFFER_VALUE_P): Use it.
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/buffer.h b/src/buffer.h
index 2080a6f40b7..14de70c6482 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -1268,10 +1268,6 @@ buffer_window_count (struct buffer *b)
1268 Buffer-local Variables 1268 Buffer-local Variables
1269 ***********************************************************************/ 1269 ***********************************************************************/
1270 1270
1271/* Number of per-buffer variables used. */
1272
1273extern int last_per_buffer_idx;
1274
1275/* Return the offset in bytes of member VAR of struct buffer 1271/* Return the offset in bytes of member VAR of struct buffer
1276 from the start of a buffer structure. */ 1272 from the start of a buffer structure. */
1277 1273
@@ -1296,23 +1292,21 @@ extern int last_per_buffer_idx;
1296#define PER_BUFFER_VAR_IDX(VAR) \ 1292#define PER_BUFFER_VAR_IDX(VAR) \
1297 PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR)) 1293 PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR))
1298 1294
1295extern bool valid_per_buffer_idx (int);
1296
1299/* Value is true if the variable with index IDX has a local value 1297/* Value is true if the variable with index IDX has a local value
1300 in buffer B. */ 1298 in buffer B. */
1301 1299
1302#define PER_BUFFER_VALUE_P(B, IDX) \ 1300#define PER_BUFFER_VALUE_P(B, IDX) \
1303 (((IDX) < 0 || IDX >= last_per_buffer_idx) \ 1301 (eassert (valid_per_buffer_idx (IDX)), \
1304 ? (emacs_abort (), false) \ 1302 (B)->local_flags[IDX])
1305 : ((B)->local_flags[IDX] != 0))
1306 1303
1307/* Set whether per-buffer variable with index IDX has a buffer-local 1304/* Set whether per-buffer variable with index IDX has a buffer-local
1308 value in buffer B. VAL zero means it hasn't. */ 1305 value in buffer B. VAL zero means it hasn't. */
1309 1306
1310#define SET_PER_BUFFER_VALUE_P(B, IDX, VAL) \ 1307#define SET_PER_BUFFER_VALUE_P(B, IDX, VAL) \
1311 do { \ 1308 (eassert (valid_per_buffer_idx (IDX)), \
1312 if ((IDX) < 0 || (IDX) >= last_per_buffer_idx) \ 1309 (B)->local_flags[IDX] = (VAL))
1313 emacs_abort (); \
1314 (B)->local_flags[IDX] = (VAL); \
1315 } while (false)
1316 1310
1317/* Return the index value of the per-buffer variable at offset OFFSET 1311/* Return the index value of the per-buffer variable at offset OFFSET
1318 in the buffer structure. 1312 in the buffer structure.