aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2011-09-18 03:33:04 -0400
committerEli Zaretskii2011-09-18 03:33:04 -0400
commita1674f0b8f8a8fb16d01df3d1430bf3f43989323 (patch)
tree054b65a8cf86f912d774e42f27d691ce1a4ac02d
parent8c0f49f09c3079730870957c31422204f93eec28 (diff)
downloademacs-a1674f0b8f8a8fb16d01df3d1430bf3f43989323.tar.gz
emacs-a1674f0b8f8a8fb16d01df3d1430bf3f43989323.zip
src/.gdbinit (pgx): Fix references to fields of `struct glyph'.
-rw-r--r--src/.gdbinit70
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xdisp.c16
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
483define pgx 483define 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"
565end 565end
diff --git a/src/ChangeLog b/src/ChangeLog
index 97b727929de..835e70f99af 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12011-09-18 Eli Zaretskii <eliz@gnu.org>
2
3 * .gdbinit (pgx): Fix references to fields of `struct glyph'.
4
12011-09-17 Eli Zaretskii <eliz@gnu.org> 52011-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);