diff options
| author | Ken Raeburn | 2000-04-05 18:53:39 +0000 |
|---|---|---|
| committer | Ken Raeburn | 2000-04-05 18:53:39 +0000 |
| commit | c0333abccb3e0997fad7d6a62bc317a49fbf6d07 (patch) | |
| tree | 985782f6347583dcb0460a8bda994fff6f26a09d /src | |
| parent | 74e49b38a8438c25b5f96cbc16be8001c706a484 (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | src/intervals.h | 8 |
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 @@ | |||
| 1 | 2000-04-05 Ken Raeburn <raeburn@gnu.org> | 1 | 2000-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. */ |