Mercurial > hg > xemacs-beta
comparison src/redisplay.c @ 5049:548f1f47eb82
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 20 Feb 2010 23:38:04 -0600 |
parents | 07dcc7000bbf 9410323e4b0d |
children | 0ca81354c4c7 8b2f75cecb89 |
comparison
equal
deleted
inserted
replaced
5048:32e1ae4c1e3a | 5049:548f1f47eb82 |
---|---|
726 if (elt < Dynarr_largest (dl->display_blocks)) | 726 if (elt < Dynarr_largest (dl->display_blocks)) |
727 { | 727 { |
728 struct display_block *dbp = Dynarr_atp (dl->display_blocks, elt); | 728 struct display_block *dbp = Dynarr_atp (dl->display_blocks, elt); |
729 | 729 |
730 /* "add" the block to the list */ | 730 /* "add" the block to the list */ |
731 Dynarr_increment (dl->display_blocks); | 731 Dynarr_incrementr (dl->display_blocks); |
732 | 732 |
733 /* initialize and return */ | 733 /* initialize and return */ |
734 dbp->type = type; | 734 dbp->type = type; |
735 return dbp; | 735 return dbp; |
736 } | 736 } |
1219 crb->cursor_type = CURSOR_OFF; | 1219 crb->cursor_type = CURSOR_OFF; |
1220 | 1220 |
1221 if (local) | 1221 if (local) |
1222 Dynarr_add (data->db->runes, *crb); | 1222 Dynarr_add (data->db->runes, *crb); |
1223 else | 1223 else |
1224 Dynarr_increment (data->db->runes); | 1224 Dynarr_incrementr (data->db->runes); |
1225 | 1225 |
1226 data->pixpos += width; | 1226 data->pixpos += width; |
1227 | 1227 |
1228 return NULL; | 1228 return NULL; |
1229 } | 1229 } |
4530 currently a modeline because it is definitely going to become | 4530 currently a modeline because it is definitely going to become |
4531 one if we have gotten to this point. */ | 4531 one if we have gotten to this point. */ |
4532 if (Dynarr_length (dla) == 0) | 4532 if (Dynarr_length (dla) == 0) |
4533 { | 4533 { |
4534 if (Dynarr_largest (dla) > 0) | 4534 if (Dynarr_largest (dla) > 0) |
4535 Dynarr_increment (dla); | 4535 Dynarr_incrementr (dla); |
4536 else | 4536 else |
4537 { | 4537 { |
4538 struct display_line modeline; | 4538 struct display_line modeline; |
4539 | 4539 |
4540 DISPLAY_LINE_INIT (modeline); | 4540 DISPLAY_LINE_INIT (modeline); |
5299 return ret_charcount; | 5299 return ret_charcount; |
5300 } | 5300 } |
5301 | 5301 |
5302 /* | 5302 /* |
5303 | 5303 |
5304 Info on Re-entrancy crashes, with backtraces given: | 5304 Info on reentrancy crashes, with backtraces given: |
5305 | 5305 |
5306 (Info-goto-node "(internals)Nasty Bugs due to Reentrancy in Redisplay Structures handling QUIT") | 5306 (Info-goto-node "(internals)Critical Redisplay Sections") |
5307 | |
5307 */ | 5308 */ |
5308 | 5309 |
5309 | 5310 |
5310 /* This is ripped off from regenerate_window. All we want to do is | 5311 /* This is ripped off from regenerate_window. All we want to do is |
5311 loop through elements in the string creating display lines until we | 5312 loop through elements in the string creating display lines until we |
5403 dlp->clip = 0; | 5404 dlp->clip = 0; |
5404 | 5405 |
5405 if (pos_of_dlp < 0) | 5406 if (pos_of_dlp < 0) |
5406 Dynarr_add (dla, *dlp); | 5407 Dynarr_add (dla, *dlp); |
5407 else if (pos_of_dlp == Dynarr_length (dla)) | 5408 else if (pos_of_dlp == Dynarr_length (dla)) |
5408 Dynarr_increment (dla); | 5409 Dynarr_incrementr (dla); |
5409 else | 5410 else |
5410 ABORT (); | 5411 ABORT (); |
5411 | 5412 |
5412 /* #### This type of check needs to be done down in the | 5413 /* #### This type of check needs to be done down in the |
5413 generate_display_line call. */ | 5414 generate_display_line call. */ |
5457 ABORT (); | 5458 ABORT (); |
5458 | 5459 |
5459 if (!in_display) | 5460 if (!in_display) |
5460 depth = enter_redisplay_critical_section (); | 5461 depth = enter_redisplay_critical_section (); |
5461 | 5462 |
5462 /* This is one spot where a re-entrancy crash will occur, due to a check | 5463 /* This is one spot where a reentrancy crash will occur, due to a check |
5463 in the dynarr to make sure it isn't "locked" */ | 5464 in the dynarr to make sure it isn't "locked" */ |
5464 /* | 5465 /* |
5465 | 5466 |
5466 Info on Re-entrancy crashes, with backtraces given: | 5467 Info on reentrancy crashes, with backtraces given: |
5467 | 5468 |
5468 (Info-goto-node "(internals)Nasty Bugs due to Reentrancy in Redisplay Structures handling QUIT") | 5469 (Info-goto-node "(internals)Critical Redisplay Sections") |
5469 */ | 5470 */ |
5470 | 5471 |
5471 Dynarr_reset (dla); | 5472 Dynarr_reset (dla); |
5472 w->max_line_len = 0; | 5473 w->max_line_len = 0; |
5473 | 5474 |
5626 w->max_line_len = dlp->num_chars; | 5627 w->max_line_len = dlp->num_chars; |
5627 | 5628 |
5628 if (pos_of_dlp < 0) | 5629 if (pos_of_dlp < 0) |
5629 Dynarr_add (dla, *dlp); | 5630 Dynarr_add (dla, *dlp); |
5630 else if (pos_of_dlp == Dynarr_length (dla)) | 5631 else if (pos_of_dlp == Dynarr_length (dla)) |
5631 Dynarr_increment (dla); | 5632 Dynarr_incrementr (dla); |
5632 else | 5633 else |
5633 ABORT (); | 5634 ABORT (); |
5634 | 5635 |
5635 /* #### This isn't right, but it is close enough for now. */ | 5636 /* #### This isn't right, but it is close enough for now. */ |
5636 w->window_end_pos[type] = start_pos; | 5637 w->window_end_pos[type] = start_pos; |
8467 Dynarr_length (internal_cache)); | 8468 Dynarr_length (internal_cache)); |
8468 w->line_cache_validation_override--; | 8469 w->line_cache_validation_override--; |
8469 return; | 8470 return; |
8470 } | 8471 } |
8471 | 8472 |
8472 Dynarr_insert_many_at_start (cache, Dynarr_begin (internal_cache), | 8473 Dynarr_prepend_many (cache, Dynarr_begin (internal_cache), |
8473 ic_elt + 1); | 8474 ic_elt + 1); |
8474 } | 8475 } |
8475 | 8476 |
8476 if (end > high_bound) | 8477 if (end > high_bound) |
8477 { | 8478 { |