diff options
| author | Eli Zaretskii | 2011-09-18 03:33:04 -0400 |
|---|---|---|
| committer | Eli Zaretskii | 2011-09-18 03:33:04 -0400 |
| commit | a1674f0b8f8a8fb16d01df3d1430bf3f43989323 (patch) | |
| tree | 054b65a8cf86f912d774e42f27d691ce1a4ac02d | |
| parent | 8c0f49f09c3079730870957c31422204f93eec28 (diff) | |
| download | emacs-a1674f0b8f8a8fb16d01df3d1430bf3f43989323.tar.gz emacs-a1674f0b8f8a8fb16d01df3d1430bf3f43989323.zip | |
src/.gdbinit (pgx): Fix references to fields of `struct glyph'.
| -rw-r--r-- | src/.gdbinit | 70 | ||||
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/xdisp.c | 16 |
3 files changed, 50 insertions, 40 deletions
diff --git a/src/.gdbinit b/src/.gdbinit index 0f51a00ea76..b908ef005d6 100644 --- a/src/.gdbinit +++ b/src/.gdbinit | |||
| @@ -483,83 +483,83 @@ end | |||
| 483 | define pgx | 483 | define pgx |
| 484 | set $g = $arg0 | 484 | set $g = $arg0 |
| 485 | # CHAR_GLYPH | 485 | # CHAR_GLYPH |
| 486 | if ($g->type == 0) | 486 | if ($g.type == 0) |
| 487 | if ($g->u.ch >= ' ' && $g->u.ch < 127) | 487 | if ($g.u.ch >= ' ' && $g.u.ch < 127) |
| 488 | printf "CHAR[%c]", $g->u.ch | 488 | printf "CHAR[%c]", $g.u.ch |
| 489 | else | 489 | else |
| 490 | printf "CHAR[0x%x]", $g->u.ch | 490 | printf "CHAR[0x%x]", $g.u.ch |
| 491 | end | 491 | end |
| 492 | end | 492 | end |
| 493 | # COMPOSITE_GLYPH | 493 | # COMPOSITE_GLYPH |
| 494 | if ($g->type == 1) | 494 | if ($g.type == 1) |
| 495 | printf "COMP[%d (%d..%d)]", $g->u.cmp.id, $g->slice.cmp.from, $g->slice.cmp.to | 495 | printf "COMP[%d (%d..%d)]", $g.u.cmp.id, $g.slice.cmp.from, $g.slice.cmp.to |
| 496 | end | 496 | end |
| 497 | # GLYPHLESS_GLYPH | 497 | # GLYPHLESS_GLYPH |
| 498 | if ($g->type == 2) | 498 | if ($g.type == 2) |
| 499 | printf "GLYPHLESS[" | 499 | printf "GLYPHLESS[" |
| 500 | if ($g->u.glyphless.method == 0) | 500 | if ($g.u.glyphless.method == 0) |
| 501 | printf "THIN]" | 501 | printf "THIN]" |
| 502 | end | 502 | end |
| 503 | if ($g->u.glyphless.method == 1) | 503 | if ($g.u.glyphless.method == 1) |
| 504 | printf "EMPTY]" | 504 | printf "EMPTY]" |
| 505 | end | 505 | end |
| 506 | if ($g->u.glyphless.method == 2) | 506 | if ($g.u.glyphless.method == 2) |
| 507 | printf "ACRO]" | 507 | printf "ACRO]" |
| 508 | end | 508 | end |
| 509 | if ($g->u.glyphless.method == 3) | 509 | if ($g.u.glyphless.method == 3) |
| 510 | printf "HEX]" | 510 | printf "HEX]" |
| 511 | end | 511 | end |
| 512 | end | 512 | end |
| 513 | # IMAGE_GLYPH | 513 | # IMAGE_GLYPH |
| 514 | if ($g->type == 3) | 514 | if ($g.type == 3) |
| 515 | printf "IMAGE[%d]", $g->u.img_id | 515 | printf "IMAGE[%d]", $g.u.img_id |
| 516 | end | 516 | end |
| 517 | # STRETCH_GLYPH | 517 | # STRETCH_GLYPH |
| 518 | if ($g->type == 4) | 518 | if ($g.type == 4) |
| 519 | printf "STRETCH[%d+%d]", $g->u.stretch.height, $g->u.stretch.ascent | 519 | printf "STRETCH[%d+%d]", $g.u.stretch.height, $g.u.stretch.ascent |
| 520 | end | 520 | end |
| 521 | xgettype ($g->object) | 521 | xgettype ($g.object) |
| 522 | if ($type == Lisp_String) | 522 | if ($type == Lisp_String) |
| 523 | printf " str=%x[%d]", $g->object, $g->charpos | 523 | printf " str=%x[%d]", $g.object, $g.charpos |
| 524 | else | 524 | else |
| 525 | printf " pos=%d", $g->charpos | 525 | printf " pos=%d", $g.charpos |
| 526 | end | 526 | end |
| 527 | # For characters, print their resolved level and bidi type | 527 | # For characters, print their resolved level and bidi type |
| 528 | if ($g->type == 0) | 528 | if ($g.type == 0) |
| 529 | printf " blev=%d,btyp=", $g->resolved_level | 529 | printf " blev=%d,btyp=", $g.resolved_level |
| 530 | pbiditype $g->bidi_type | 530 | pbiditype $g.bidi_type |
| 531 | end | 531 | end |
| 532 | printf " w=%d a+d=%d+%d", $g->pixel_width, $g->ascent, $g->descent | 532 | printf " w=%d a+d=%d+%d", $g.pixel_width, $g.ascent, $g.descent |
| 533 | # If not DEFAULT_FACE_ID | 533 | # If not DEFAULT_FACE_ID |
| 534 | if ($g->face_id != 0) | 534 | if ($g.face_id != 0) |
| 535 | printf " face=%d", $g->face_id | 535 | printf " face=%d", $g.face_id |
| 536 | end | 536 | end |
| 537 | if ($g->voffset) | 537 | if ($g.voffset) |
| 538 | printf " vof=%d", $g->voffset | 538 | printf " vof=%d", $g.voffset |
| 539 | end | 539 | end |
| 540 | if ($g->multibyte_p) | 540 | if ($g.multibyte_p) |
| 541 | printf " MB" | 541 | printf " MB" |
| 542 | end | 542 | end |
| 543 | if ($g->padding_p) | 543 | if ($g.padding_p) |
| 544 | printf " PAD" | 544 | printf " PAD" |
| 545 | end | 545 | end |
| 546 | if ($g->glyph_not_available_p) | 546 | if ($g.glyph_not_available_p) |
| 547 | printf " N/A" | 547 | printf " N/A" |
| 548 | end | 548 | end |
| 549 | if ($g->overlaps_vertically_p) | 549 | if ($g.overlaps_vertically_p) |
| 550 | printf " OVL" | 550 | printf " OVL" |
| 551 | end | 551 | end |
| 552 | if ($g->avoid_cursor_p) | 552 | if ($g.avoid_cursor_p) |
| 553 | printf " AVOID" | 553 | printf " AVOID" |
| 554 | end | 554 | end |
| 555 | if ($g->left_box_line_p) | 555 | if ($g.left_box_line_p) |
| 556 | printf " [" | 556 | printf " [" |
| 557 | end | 557 | end |
| 558 | if ($g->right_box_line_p) | 558 | if ($g.right_box_line_p) |
| 559 | printf " ]" | 559 | printf " ]" |
| 560 | end | 560 | end |
| 561 | if ($g->slice.img.x || $g->slice.img.y || $g->slice.img.width || $g->slice.img.height) | 561 | if ($g.slice.img.x || $g.slice.img.y || $g.slice.img.width || $g.slice.img.height) |
| 562 | printf " slice=%d,%d,%d,%d" ,$g->slice.img.x, $g->slice.img.y, $g->slice.img.width, $g->slice.img.height | 562 | printf " slice=%d,%d,%d,%d" ,$g.slice.img.x, $g.slice.img.y, $g.slice.img.width, $g.slice.img.height |
| 563 | end | 563 | end |
| 564 | printf "\n" | 564 | printf "\n" |
| 565 | end | 565 | end |
diff --git a/src/ChangeLog b/src/ChangeLog index 97b727929de..835e70f99af 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-09-18 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * .gdbinit (pgx): Fix references to fields of `struct glyph'. | ||
| 4 | |||
| 1 | 2011-09-17 Eli Zaretskii <eliz@gnu.org> | 5 | 2011-09-17 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * xdisp.c (produce_stretch_glyph): Another fix for changes made on | 7 | * xdisp.c (produce_stretch_glyph): Another fix for changes made on |
diff --git a/src/xdisp.c b/src/xdisp.c index f889815fa1e..b12fd6e591c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -18703,11 +18703,6 @@ display_line (struct it *it) | |||
| 18703 | it->current_x = new_x; | 18703 | it->current_x = new_x; |
| 18704 | it->continuation_lines_width += new_x; | 18704 | it->continuation_lines_width += new_x; |
| 18705 | ++it->hpos; | 18705 | ++it->hpos; |
| 18706 | /* Record the maximum and minimum buffer | ||
| 18707 | positions seen so far in glyphs that will be | ||
| 18708 | displayed by this row. */ | ||
| 18709 | if (it->bidi_p) | ||
| 18710 | RECORD_MAX_MIN_POS (it); | ||
| 18711 | if (i == nglyphs - 1) | 18706 | if (i == nglyphs - 1) |
| 18712 | { | 18707 | { |
| 18713 | /* If line-wrap is on, check if a previous | 18708 | /* If line-wrap is on, check if a previous |
| @@ -18722,6 +18717,11 @@ display_line (struct it *it) | |||
| 18722 | || IT_DISPLAYING_WHITESPACE (it))) | 18717 | || IT_DISPLAYING_WHITESPACE (it))) |
| 18723 | goto back_to_wrap; | 18718 | goto back_to_wrap; |
| 18724 | 18719 | ||
| 18720 | /* Record the maximum and minimum buffer | ||
| 18721 | positions seen so far in glyphs that will be | ||
| 18722 | displayed by this row. */ | ||
| 18723 | if (it->bidi_p) | ||
| 18724 | RECORD_MAX_MIN_POS (it); | ||
| 18725 | set_iterator_to_next (it, 1); | 18725 | set_iterator_to_next (it, 1); |
| 18726 | if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) | 18726 | if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) |
| 18727 | { | 18727 | { |
| @@ -18739,6 +18739,8 @@ display_line (struct it *it) | |||
| 18739 | } | 18739 | } |
| 18740 | } | 18740 | } |
| 18741 | } | 18741 | } |
| 18742 | else if (it->bidi_p) | ||
| 18743 | RECORD_MAX_MIN_POS (it); | ||
| 18742 | } | 18744 | } |
| 18743 | else if (CHAR_GLYPH_PADDING_P (*glyph) | 18745 | else if (CHAR_GLYPH_PADDING_P (*glyph) |
| 18744 | && !FRAME_WINDOW_P (it->f)) | 18746 | && !FRAME_WINDOW_P (it->f)) |
| @@ -18869,6 +18871,10 @@ display_line (struct it *it) | |||
| 18869 | xassert (it->first_visible_x <= it->last_visible_x); | 18871 | xassert (it->first_visible_x <= it->last_visible_x); |
| 18870 | } | 18872 | } |
| 18871 | } | 18873 | } |
| 18874 | /* Even if this display element produced no glyphs at all, | ||
| 18875 | we want to record its position. */ | ||
| 18876 | if (it->bidi_p && nglyphs == 0) | ||
| 18877 | RECORD_MAX_MIN_POS (it); | ||
| 18872 | 18878 | ||
| 18873 | row->ascent = max (row->ascent, it->max_ascent); | 18879 | row->ascent = max (row->ascent, it->max_ascent); |
| 18874 | row->height = max (row->height, it->max_ascent + it->max_descent); | 18880 | row->height = max (row->height, it->max_ascent + it->max_descent); |