Mercurial > emacs
comparison src/xdisp.c @ 9981:f537f1e7264a
(try_window): Don't pass window to Fget_char_property; pass its buffer.
(display_text_line): Likewise.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Wed, 16 Nov 1994 16:57:31 +0000 |
parents | 1a75c4fe2ece |
children | 0a50658ec6f9 |
comparison
equal
deleted
inserted
replaced
9980:ff5d8881a3eb | 9981:f537f1e7264a |
---|---|
1445 val = *display_text_line (w, pos, vpos, val.hpos, tab_offset); | 1445 val = *display_text_line (w, pos, vpos, val.hpos, tab_offset); |
1446 tab_offset += width; | 1446 tab_offset += width; |
1447 if (val.vpos) tab_offset = 0; | 1447 if (val.vpos) tab_offset = 0; |
1448 vpos++; | 1448 vpos++; |
1449 if (pos != val.bufpos) | 1449 if (pos != val.bufpos) |
1450 last_text_vpos | 1450 { |
1451 /* Next line, unless prev line ended in end of buffer with no cr */ | 1451 last_text_vpos = vpos; |
1452 = vpos - (val.vpos && (FETCH_CHAR (val.bufpos - 1) != '\n' | 1452 /* Next line, unless prev line ended in end of buffer with no cr. */ |
1453 if (val.vpos && (FETCH_CHAR (val.bufpos - 1) != '\n' | |
1453 #ifdef USE_TEXT_PROPERTIES | 1454 #ifdef USE_TEXT_PROPERTIES |
1454 || ! NILP (Fget_char_property (val.bufpos-1, | 1455 || ! NILP (Fget_char_property |
1455 Qinvisible, | 1456 (val.bufpos-1, |
1456 window)) | 1457 Qinvisible, |
1458 XWINDOW (window)->buffer)) | |
1457 #endif | 1459 #endif |
1458 )); | 1460 )) |
1461 --last_text_vpos; | |
1462 } | |
1459 pos = val.bufpos; | 1463 pos = val.bufpos; |
1460 } | 1464 } |
1461 | 1465 |
1462 /* If last line is continued in middle of character, | 1466 /* If last line is continued in middle of character, |
1463 include the split character in the text considered on the frame */ | 1467 include the split character in the text considered on the frame */ |
2250 #ifdef USE_TEXT_PROPERTIES | 2254 #ifdef USE_TEXT_PROPERTIES |
2251 /* if the `invisible' property is set to t, we can skip to | 2255 /* if the `invisible' property is set to t, we can skip to |
2252 the next property change */ | 2256 the next property change */ |
2253 while (pos == next_invisible && pos < end) | 2257 while (pos == next_invisible && pos < end) |
2254 { | 2258 { |
2255 Lisp_Object position, limit, endpos, prop, ww; | 2259 Lisp_Object position, limit, endpos, prop; |
2256 XSETFASTINT (position, pos); | 2260 XSETFASTINT (position, pos); |
2257 XSETWINDOW (ww, w); | 2261 prop = Fget_char_property (position, Qinvisible, w->buffer); |
2258 prop = Fget_char_property (position, Qinvisible, ww); | |
2259 /* This is just an estimate to give reasonable | 2262 /* This is just an estimate to give reasonable |
2260 performance; nothing should go wrong if it is too small. */ | 2263 performance; nothing should go wrong if it is too small. */ |
2261 limit = Fnext_overlay_change (position); | 2264 limit = Fnext_overlay_change (position); |
2262 if (XFASTINT (limit) > pos + 50) | 2265 if (XFASTINT (limit) > pos + 50) |
2263 XSETFASTINT (limit, pos + 50); | 2266 XSETFASTINT (limit, pos + 50); |
2264 endpos = Fnext_single_property_change (position, Qinvisible, | 2267 endpos = Fnext_single_property_change (position, Qinvisible, |
2265 Fcurrent_buffer (), limit); | 2268 Fcurrent_buffer (), |
2269 limit); | |
2266 if (INTEGERP (endpos)) | 2270 if (INTEGERP (endpos)) |
2267 next_invisible = XINT (endpos); | 2271 next_invisible = XINT (endpos); |
2268 else | 2272 else |
2269 next_invisible = end; | 2273 next_invisible = end; |
2270 if (! NILP (prop)) | 2274 if (! NILP (prop)) |