comparison src/buffer.c @ 92237:ce06567a933d

* dispextern.h (face_at_buffer_position, face_for_overlay_string) (face_at_string_position): * xfaces.c (face_at_buffer_position, face_for_overlay_string) (face_at_string_position): * xdisp.c (display_string, next_overlay_change): * buffer.h (overlays_at): * buffer.c (overlays_at): Use EMACS_INT for buffer positions. Update callers.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 26 Feb 2008 18:18:05 +0000
parents 4a11735d1bdb
children b0c32527b009
comparison
equal deleted inserted replaced
92236:996d2de63762 92237:ce06567a933d
2689 overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr, change_req) 2689 overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr, change_req)
2690 EMACS_INT pos; 2690 EMACS_INT pos;
2691 int extend; 2691 int extend;
2692 Lisp_Object **vec_ptr; 2692 Lisp_Object **vec_ptr;
2693 int *len_ptr; 2693 int *len_ptr;
2694 int *next_ptr; 2694 EMACS_INT *next_ptr;
2695 int *prev_ptr; 2695 EMACS_INT *prev_ptr;
2696 int change_req; 2696 int change_req;
2697 { 2697 {
2698 Lisp_Object overlay, start, end; 2698 Lisp_Object overlay, start, end;
2699 struct Lisp_Overlay *tail; 2699 struct Lisp_Overlay *tail;
2700 int idx = 0; 2700 int idx = 0;
4095 overlay_vec = (Lisp_Object *) xmalloc (len * sizeof (Lisp_Object)); 4095 overlay_vec = (Lisp_Object *) xmalloc (len * sizeof (Lisp_Object));
4096 4096
4097 /* Put all the overlays we want in a vector in overlay_vec. 4097 /* Put all the overlays we want in a vector in overlay_vec.
4098 Store the length in len. */ 4098 Store the length in len. */
4099 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, 4099 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len,
4100 (int *) 0, (int *) 0, 0); 4100 (EMACS_INT *) 0, (EMACS_INT *) 0, 0);
4101 4101
4102 /* Make a list of them all. */ 4102 /* Make a list of them all. */
4103 result = Flist (noverlays, overlay_vec); 4103 result = Flist (noverlays, overlay_vec);
4104 4104
4105 xfree (overlay_vec); 4105 xfree (overlay_vec);
4145 the value is (point-max). */) 4145 the value is (point-max). */)
4146 (pos) 4146 (pos)
4147 Lisp_Object pos; 4147 Lisp_Object pos;
4148 { 4148 {
4149 int noverlays; 4149 int noverlays;
4150 int endpos; 4150 EMACS_INT endpos;
4151 Lisp_Object *overlay_vec; 4151 Lisp_Object *overlay_vec;
4152 int len; 4152 int len;
4153 int i; 4153 int i;
4154 4154
4155 CHECK_NUMBER_COERCE_MARKER (pos); 4155 CHECK_NUMBER_COERCE_MARKER (pos);
4159 4159
4160 /* Put all the overlays we want in a vector in overlay_vec. 4160 /* Put all the overlays we want in a vector in overlay_vec.
4161 Store the length in len. 4161 Store the length in len.
4162 endpos gets the position where the next overlay starts. */ 4162 endpos gets the position where the next overlay starts. */
4163 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, 4163 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len,
4164 &endpos, (int *) 0, 1); 4164 &endpos, (EMACS_INT *) 0, 1);
4165 4165
4166 /* If any of these overlays ends before endpos, 4166 /* If any of these overlays ends before endpos,
4167 use its ending point instead. */ 4167 use its ending point instead. */
4168 for (i = 0; i < noverlays; i++) 4168 for (i = 0; i < noverlays; i++)
4169 { 4169 {
4170 Lisp_Object oend; 4170 Lisp_Object oend;
4171 int oendpos; 4171 EMACS_INT oendpos;
4172 4172
4173 oend = OVERLAY_END (overlay_vec[i]); 4173 oend = OVERLAY_END (overlay_vec[i]);
4174 oendpos = OVERLAY_POSITION (oend); 4174 oendpos = OVERLAY_POSITION (oend);
4175 if (oendpos < endpos) 4175 if (oendpos < endpos)
4176 endpos = oendpos; 4176 endpos = oendpos;
4187 the value is (point-min). */) 4187 the value is (point-min). */)
4188 (pos) 4188 (pos)
4189 Lisp_Object pos; 4189 Lisp_Object pos;
4190 { 4190 {
4191 int noverlays; 4191 int noverlays;
4192 int prevpos; 4192 EMACS_INT prevpos;
4193 Lisp_Object *overlay_vec; 4193 Lisp_Object *overlay_vec;
4194 int len; 4194 int len;
4195 4195
4196 CHECK_NUMBER_COERCE_MARKER (pos); 4196 CHECK_NUMBER_COERCE_MARKER (pos);
4197 4197
4205 4205
4206 /* Put all the overlays we want in a vector in overlay_vec. 4206 /* Put all the overlays we want in a vector in overlay_vec.
4207 Store the length in len. 4207 Store the length in len.
4208 prevpos gets the position of the previous change. */ 4208 prevpos gets the position of the previous change. */
4209 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, 4209 noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len,
4210 (int *) 0, &prevpos, 1); 4210 (EMACS_INT *) 0, &prevpos, 1);
4211 4211
4212 xfree (overlay_vec); 4212 xfree (overlay_vec);
4213 return make_number (prevpos); 4213 return make_number (prevpos);
4214 } 4214 }
4215 4215