aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKen Raeburn2000-04-05 18:53:39 +0000
committerKen Raeburn2000-04-05 18:53:39 +0000
commitc0333abccb3e0997fad7d6a62bc317a49fbf6d07 (patch)
tree985782f6347583dcb0460a8bda994fff6f26a09d /src
parent74e49b38a8438c25b5f96cbc16be8001c706a484 (diff)
downloademacs-c0333abccb3e0997fad7d6a62bc317a49fbf6d07.tar.gz
emacs-c0333abccb3e0997fad7d6a62bc317a49fbf6d07.zip
* intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for a pointer
that looks like a lisp object. (SET_INTERVAL_OBJECT): Don't explicitly compare the object with zero, instead see whether it's an integer object, since they can't have intervals. (GET_INTERVAL_OBJECT): Simply assign to the destination.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/intervals.h8
2 files changed, 10 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b42ccbb177a..b957c146a83 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,12 @@
12000-04-05 Ken Raeburn <raeburn@gnu.org> 12000-04-05 Ken Raeburn <raeburn@gnu.org>
2 2
3 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
4 a pointer that looks like a lisp object.
5 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
6 zero, instead see whether it's an integer object, since they can't
7 have intervals.
8 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9
3 * dispnew.c (allocate_matrices_for_frame_redisplay, 10 * dispnew.c (allocate_matrices_for_frame_redisplay,
4 direct_output_forward_char): Use X(U)INT and make_number as needed 11 direct_output_forward_char): Use X(U)INT and make_number as needed
5 to convert between (unsigned) int values and lisp integers. 12 to convert between (unsigned) int values and lisp integers.
diff --git a/src/intervals.h b/src/intervals.h
index 5db02e78629..1a6bb341d0c 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -113,12 +113,10 @@ Boston, MA 02111-1307, USA. */
113 The choice of macros is dependent on the type needed. Don't add 113 The choice of macros is dependent on the type needed. Don't add
114 casts to get around this, it will break some development work in 114 casts to get around this, it will break some development work in
115 progress. */ 115 progress. */
116#define SET_INTERVAL_PARENT(i,p) (eassert (!BUFFERP ((Lisp_Object)(p)) && !STRINGP ((Lisp_Object)(p))),(i)->up_obj = 0, (i)->up.interval = (p)) 116#define SET_INTERVAL_PARENT(i,p) (eassert (!INT_LISPLIKE (p)),(i)->up_obj = 0, (i)->up.interval = (p))
117#define SET_INTERVAL_OBJECT(i,o) (eassert ((o) != 0), eassert (BUFFERP (o) || STRINGP (o)),(i)->up_obj = 1, (i)->up.obj = (o)) 117#define SET_INTERVAL_OBJECT(i,o) (eassert (!INTEGERP (o)), eassert (BUFFERP (o) || STRINGP (o)),(i)->up_obj = 1, (i)->up.obj = (o))
118#define INTERVAL_PARENT(i) (eassert((i) != 0 && (i)->up_obj == 0),(i)->up.interval) 118#define INTERVAL_PARENT(i) (eassert((i) != 0 && (i)->up_obj == 0),(i)->up.interval)
119/* Because XSETFASTINT has to be used, this can't simply be 119#define GET_INTERVAL_OBJECT(d,s) (eassert((s)->up_obj == 1), (d) = (s)->up.obj)
120 value-returning. */
121#define GET_INTERVAL_OBJECT(d,s) (eassert((s)->up_obj == 1),XSETFASTINT ((d), (s)->up.obj))
122 120
123/* Make the parent of D be whatever the parent of S is, regardless of 121/* Make the parent of D be whatever the parent of S is, regardless of
124 type. This is used when balancing an interval tree. */ 122 type. This is used when balancing an interval tree. */