diff options
| author | Dmitry Antipov | 2012-08-20 11:42:06 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2012-08-20 11:42:06 +0400 |
| commit | 4ce60d2ec56748e74fb56487b7761a2bdba1d644 (patch) | |
| tree | 6dc415220c4199b029e638bca3dcb10c493f4b67 /src/buffer.h | |
| parent | 36e8d1eb27b39ea35e9a57575858cb86a8784f2a (diff) | |
| download | emacs-4ce60d2ec56748e74fb56487b7761a2bdba1d644.tar.gz emacs-4ce60d2ec56748e74fb56487b7761a2bdba1d644.zip | |
Inline getter and setter functions for per-buffer values.
* buffer.h (per_buffer_default, set_per_buffer_default)
(per_buffer_value, set_per_buffer_value): New functions.
(PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove.
* buffer.c, data.c: Adjust users.
Diffstat (limited to 'src/buffer.h')
| -rw-r--r-- | src/buffer.h | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/src/buffer.h b/src/buffer.h index 510a8e55682..6c63c52dc47 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -1203,18 +1203,36 @@ extern int last_per_buffer_idx; | |||
| 1203 | #define PER_BUFFER_IDX(OFFSET) \ | 1203 | #define PER_BUFFER_IDX(OFFSET) \ |
| 1204 | XINT (*(Lisp_Object *)((OFFSET) + (char *) &buffer_local_flags)) | 1204 | XINT (*(Lisp_Object *)((OFFSET) + (char *) &buffer_local_flags)) |
| 1205 | 1205 | ||
| 1206 | /* Return the default value of the per-buffer variable at offset | 1206 | /* Functions to get and set default value of the per-buffer |
| 1207 | OFFSET in the buffer structure. */ | 1207 | variable at offset OFFSET in the buffer structure. */ |
| 1208 | 1208 | ||
| 1209 | #define PER_BUFFER_DEFAULT(OFFSET) \ | 1209 | BUFFER_INLINE Lisp_Object |
| 1210 | (*(Lisp_Object *)((OFFSET) + (char *) &buffer_defaults)) | 1210 | per_buffer_default (int offset) |
| 1211 | { | ||
| 1212 | return *(Lisp_Object *)(offset + (char *) &buffer_defaults); | ||
| 1213 | } | ||
| 1211 | 1214 | ||
| 1212 | /* Return the buffer-local value of the per-buffer variable at offset | 1215 | BUFFER_INLINE void |
| 1213 | OFFSET in the buffer structure. */ | 1216 | set_per_buffer_default (int offset, Lisp_Object value) |
| 1217 | { | ||
| 1218 | *(Lisp_Object *)(offset + (char *) &buffer_defaults) = value; | ||
| 1219 | } | ||
| 1220 | |||
| 1221 | /* Functions to get and set buffer-local value of the per-buffer | ||
| 1222 | variable at offset OFFSET in the buffer structure. */ | ||
| 1223 | |||
| 1224 | BUFFER_INLINE Lisp_Object | ||
| 1225 | per_buffer_value (struct buffer *b, int offset) | ||
| 1226 | { | ||
| 1227 | return *(Lisp_Object *)(offset + (char *) b); | ||
| 1228 | } | ||
| 1229 | |||
| 1230 | BUFFER_INLINE void | ||
| 1231 | set_per_buffer_value (struct buffer *b, int offset, Lisp_Object value) | ||
| 1232 | { | ||
| 1233 | *(Lisp_Object *)(offset + (char *) b) = value; | ||
| 1234 | } | ||
| 1214 | 1235 | ||
| 1215 | #define PER_BUFFER_VALUE(BUFFER, OFFSET) \ | ||
| 1216 | (*(Lisp_Object *)((OFFSET) + (char *) (BUFFER))) | ||
| 1217 | |||
| 1218 | /* Downcase a character C, or make no change if that cannot be done. */ | 1236 | /* Downcase a character C, or make no change if that cannot be done. */ |
| 1219 | BUFFER_INLINE int | 1237 | BUFFER_INLINE int |
| 1220 | downcase (int c) | 1238 | downcase (int c) |