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))