summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2012-08-17 18:24:43 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2012-08-17 18:24:43 +0400
commita04e2c62ec8ce903310b7c7635c43f42ccab5e2f (patch)
tree79da6e7e7455731a813eb601a158057c66bdcee6 /src/lisp.h
parent8223e9280fa69afeeae1a8b51735cbb8393f2e8d (diff)
downloademacs-a04e2c62ec8ce903310b7c7635c43f42ccab5e2f.tar.gz
Functions to get and set Lisp_Object fields of buffer-local variables.
* lisp.h (blv_found, set_blv_found, blv_value, set_blv_value) (set_blv_where, set_blv_defcell, set_blv_valcell): New functions. (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove. * data.c, eval.c, frame.c: Adjust users.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h54
1 files changed, 46 insertions, 8 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 8ac01211a1f..827f2be06d0 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1472,14 +1472,6 @@ struct Lisp_Buffer_Local_Value
Lisp_Object valcell;
};
-#define BLV_FOUND(blv) \
- (eassert ((blv)->found == !EQ ((blv)->defcell, (blv)->valcell)), (blv)->found)
-#define SET_BLV_FOUND(blv, v) \
- (eassert ((v) == !EQ ((blv)->defcell, (blv)->valcell)), (blv)->found = (v))
-
-#define BLV_VALUE(blv) (XCDR ((blv)->valcell))
-#define SET_BLV_VALUE(blv, v) (XSETCDR ((blv)->valcell, v))
-
/* Like Lisp_Objfwd except that value lives in a slot in the
current kboard. */
struct Lisp_Kboard_Objfwd
@@ -2415,6 +2407,52 @@ set_symbol_next (Lisp_Object sym, struct Lisp_Symbol *next)
XSYMBOL (sym)->next = next;
}
+/* Buffer-local (also frame-local) variable access functions. */
+
+LISP_INLINE int
+blv_found (struct Lisp_Buffer_Local_Value *blv)
+{
+ eassert (blv->found == !EQ (blv->defcell, blv->valcell));
+ return blv->found;
+}
+
+LISP_INLINE void
+set_blv_found (struct Lisp_Buffer_Local_Value *blv, int found)
+{
+ eassert (found == !EQ (blv->defcell, blv->valcell));
+ blv->found = found;
+}
+
+LISP_INLINE Lisp_Object
+blv_value (struct Lisp_Buffer_Local_Value *blv)
+{
+ return XCDR (blv->valcell);
+}
+
+LISP_INLINE void
+set_blv_value (struct Lisp_Buffer_Local_Value *blv, Lisp_Object val)
+{
+ XSETCDR (blv->valcell, val);
+}
+
+LISP_INLINE void
+set_blv_where (struct Lisp_Buffer_Local_Value *blv, Lisp_Object val)
+{
+ blv->where = val;
+}
+
+LISP_INLINE void
+set_blv_defcell (struct Lisp_Buffer_Local_Value *blv, Lisp_Object val)
+{
+ blv->defcell = val;
+}
+
+LISP_INLINE void
+set_blv_valcell (struct Lisp_Buffer_Local_Value *blv, Lisp_Object val)
+{
+ blv->valcell = val;
+}
+
/* Set overlay's property list. */
LISP_INLINE void