aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorDmitry Antipov2012-08-20 11:42:06 +0400
committerDmitry Antipov2012-08-20 11:42:06 +0400
commit4ce60d2ec56748e74fb56487b7761a2bdba1d644 (patch)
tree6dc415220c4199b029e638bca3dcb10c493f4b67 /src/buffer.h
parent36e8d1eb27b39ea35e9a57575858cb86a8784f2a (diff)
downloademacs-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.h36
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) \ 1209BUFFER_INLINE Lisp_Object
1210 (*(Lisp_Object *)((OFFSET) + (char *) &buffer_defaults)) 1210per_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 1215BUFFER_INLINE void
1213 OFFSET in the buffer structure. */ 1216set_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
1224BUFFER_INLINE Lisp_Object
1225per_buffer_value (struct buffer *b, int offset)
1226{
1227 return *(Lisp_Object *)(offset + (char *) b);
1228}
1229
1230BUFFER_INLINE void
1231set_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. */
1219BUFFER_INLINE int 1237BUFFER_INLINE int
1220downcase (int c) 1238downcase (int c)